NEURON
nrncore_io.h
Go to the documentation of this file.
1 #ifndef NRN_NRNCORE_IO_H
2 #define NRN_NRNCORE_IO_H
3 
4 #include <string>
5 #include <vector>
6 
7 class CellGroup;
8 class NrnThread;
9 union Datum;
10 class NrnMappingInfo;
11 
12 void create_dir_path(const std::string& path);
13 std::string get_write_path();
14 std::string get_filename(const std::string &path, std::string file_name);
15 
16 // returns start pointer of the container's data
17 template<typename T>
18 inline T *begin_ptr(std::vector <T> &v) {
19  return v.empty() ? NULL : &v[0];
20 }
21 
22 
23 
24 // to avoid incompatible dataset between neuron and coreneuron
25 // add version string to the dataset files
26 extern const char *bbcore_write_version;
27 extern int chkpnt;
28 
29 void write_memb_mech_types(const char *fname);
30 void write_globals(const char *fname);
31 void write_nrnthread(const char *fname, NrnThread &nt, CellGroup &cg);
32 void writeint_(int *p, size_t size, FILE *f);
33 void writedbl_(double *p, size_t size, FILE *f);
34 
35 #define writeint(p, size) writeint_(p, size, f)
36 #define writedbl(p, size) writedbl_(p, size, f)
37 typedef void (*bbcore_write_t)(double *, int *, int *, int *, double *, Datum *, Datum *, NrnThread *);
38 
39 void write_contiguous_art_data(double **data, int nitem, int szitem, FILE *f);
40 double *contiguous_art_data(double **data, int nitem, int szitem);
41 void write_nrnthread_task(const char *, CellGroup *cgs, bool append);
42 void nrnbbcore_vecplay_write(FILE *f, NrnThread &nt);
43 
44 void nrn_write_mapping_info(const char *path, int gid, NrnMappingInfo &minfo);
45 
46 
47 #endif //NRN_NRNCORE_IO_H
#define data
Definition: rbtqueue.cpp:49
void write_globals(const char *fname)
Definition: nrncore_io.cpp:72
T * begin_ptr(std::vector< T > &v)
Definition: nrncore_io.h:18
double T
Definition: rbtqueue.cpp:25
void
size_t p
Represent main neuron object computed by single thread.
Definition: multicore.h:58
void write_nrnthread_task(const char *, CellGroup *cgs, bool append)
Write all dataset ids to files.dat.
Definition: nrncore_io.cpp:348
#define v
Definition: md1redef.h:4
const char * bbcore_write_version
Definition: nrncore_io.cpp:25
void append(Item *ql, Item *q)
Definition: list.cpp:348
void(*)(double *, int *, int *, int *, double *, Datum *, Datum *, NrnThread *) bbcore_write_t
Definition: init.cpp:189
void nrnbbcore_vecplay_write(FILE *f, NrnThread &nt)
Definition: nrncore_io.cpp:302
void write_contiguous_art_data(double **data, int nitem, int szitem, FILE *f)
Definition: nrncore_io.cpp:280
void write_memb_mech_types(const char *fname)
Definition: nrncore_io.cpp:58
std::string get_filename(const std::string &path, std::string file_name)
Definition: nrncore_io.cpp:51
static const char * fname(const char *name)
Definition: nrnbbs.cpp:108
double * contiguous_art_data(double **data, int nitem, int szitem)
Definition: nrncore_io.cpp:290
Compartment mapping information for NrnThread.
size_t size()
number of cells
void writedbl_(double *p, size_t size, FILE *f)
Definition: nrncore_io.cpp:271
VEC * cgs(MTX_FN A, void *A_params, VEC *b, VEC *r0, double tol, VEC *x)
Definition: conjgrad.c:179
void nrn_write_mapping_info(const char *path, int gid, NrnMappingInfo &minfo)
dump mapping information to gid_3.dat file
Definition: nrncore_io.cpp:502
int chkpnt
Definition: nrncore_io.cpp:24
std::string get_write_path()
Definition: nrncore_io.cpp:43
Definition: hocdec.h:176
return NULL
Definition: cabcode.cpp:461
void write_nrnthread(const char *fname, NrnThread &nt, CellGroup &cg)
Definition: nrncore_io.cpp:114
void writeint_(int *p, size_t size, FILE *f)
Definition: nrncore_io.cpp:265
void create_dir_path(const std::string &path)
create directory with given path
Definition: nrncore_io.cpp:28