NEURON
nrnpy.cpp File Reference
#include "nrnpy.h"
#include <../../nrnconf.h>
#include <stdio.h>
#include <stdlib.h>
#include <InterViews/resource.h>
#include "nrnoc2iv.h"
#include "classreg.h"
#include "nonvintblock.h"
#include "nrnmpi.h"
#include <algorithm>
#include <cctype>
#include <sstream>

Go to the source code of this file.

Namespaces

 neuron
 In mechanism libraries, cannot use auto const token = nrn_ensure_model_data_are_sorted(); because the return type is incomplete (from include/neuron/model_data.hpp).
 
 neuron::python
 

Typedefs

using nrnpython_reg_real_t = void(*)(neuron::python::impl_ptrs *)
 

Functions

void nrnpython_reg_real (neuron::python::impl_ptrs *)
 Populate NEURON state with information from a specific Python. More...
 
void nrnpython ()
 
static void * p_cons (Object *)
 
static void p_destruct (void *)
 
void nrnpython_reg ()
 Load + register an nrnpython library for a specific Python version. More...
 

Variables

impl_ptrs neuron::python::methods
 Collection of pointers to functions with python-version-specific implementations. More...
 
int(* nrnpy_hoccommand_exec )(Object *)
 
int nrn_nopython
 
std::string nrnpy_pyexe
 
int nrn_is_python_extension
 

Typedef Documentation

◆ nrnpython_reg_real_t

Definition at line 29 of file nrnpy.cpp.

Function Documentation

◆ nrnpython()

void nrnpython ( )

Definition at line 42 of file nrnpy.cpp.

◆ nrnpython_reg()

void nrnpython_reg ( )

Load + register an nrnpython library for a specific Python version.

This finds the library (if needed because dynamic Python is enabled), opens it and gets + calls its nrnpython_reg_real method. This ensures that NEURON's global state knows about a Python implementation.

Definition at line 208 of file nrnpy.cpp.

◆ nrnpython_reg_real()

void nrnpython_reg_real ( neuron::python::impl_ptrs ptrs)

Populate NEURON state with information from a specific Python.

Parameters
ptrsLogically a return value; avoidi

Definition at line 914 of file nrnpy_p2h.cpp.

◆ p_cons()

static void* p_cons ( Object )
static

Definition at line 51 of file nrnpy.cpp.

◆ p_destruct()

static void p_destruct ( void *  )
static

Definition at line 54 of file nrnpy.cpp.

Variable Documentation

◆ nrn_is_python_extension

int nrn_is_python_extension
extern

Definition at line 810 of file fileio.cpp.

◆ nrn_nopython

int nrn_nopython
extern

◆ nrnpy_hoccommand_exec

int(* nrnpy_hoccommand_exec) (Object *) ( Object )

Definition at line 24 of file nrnpy.cpp.

◆ nrnpy_pyexe

std::string nrnpy_pyexe
extern