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 // to avoid incompatible dataset between neuron and coreneuron
24 // add version string to the dataset files
25 extern const char* bbcore_write_version;
26 extern int chkpnt;
27 
28 void write_memb_mech_types(const char* fname);
29 void write_globals(const char* fname);
30 void write_nrnthread(const char* fname, NrnThread& nt, CellGroup& cg);
31 void writeint_(int* p, size_t size, FILE* f);
32 void writedbl_(double* p, size_t size, FILE* f);
33 
34 #define writeint(p, size) writeint_(p, size, f)
35 #define writedbl(p, size) writedbl_(p, size, f)
36 typedef void (*bbcore_write_t)(double*, int*, int*, int*, double*, Datum*, Datum*, NrnThread*);
37 
38 void write_contiguous_art_data(double** data, int nitem, int szitem, FILE* f);
39 double* contiguous_art_data(double** data, int nitem, int szitem);
40 void write_nrnthread_task(const char*, CellGroup* cgs, bool append);
41 void nrnbbcore_vecplay_write(FILE* f, NrnThread& nt);
42 
43 void nrn_write_mapping_info(const char* path, int gid, NrnMappingInfo& minfo);
44 
45 
46 #endif // NRN_NRNCORE_IO_H
VEC * cgs(MTX_FN A, void *A_params, VEC *b, VEC *r0, double tol, VEC *x)
Definition: conjgrad.c:179
void
#define v
Definition: md1redef.h:4
void append(Item *ql, Item *q)
Definition: list.cpp:318
void write_contiguous_art_data(double **data, int nitem, int szitem, FILE *f)
Definition: nrncore_io.cpp:306
void write_memb_mech_types(const char *fname)
Definition: nrncore_io.cpp:59
void create_dir_path(const std::string &path)
create directory with given path
Definition: nrncore_io.cpp:29
std::string get_filename(const std::string &path, std::string file_name)
Definition: nrncore_io.cpp:52
void write_globals(const char *fname)
Definition: nrncore_io.cpp:75
void writeint_(int *p, size_t size, FILE *f)
Definition: nrncore_io.cpp:291
T * begin_ptr(std::vector< T > &v)
Definition: nrncore_io.h:18
void nrn_write_mapping_info(const char *path, int gid, NrnMappingInfo &minfo)
dump mapping information to gid_3.dat file
Definition: nrncore_io.cpp:540
double * contiguous_art_data(double **data, int nitem, int szitem)
Definition: nrncore_io.cpp:316
void writedbl_(double *p, size_t size, FILE *f)
Definition: nrncore_io.cpp:297
int chkpnt
Definition: nrncore_io.cpp:24
void nrnbbcore_vecplay_write(FILE *f, NrnThread &nt)
Definition: nrncore_io.cpp:328
void write_nrnthread(const char *fname, NrnThread &nt, CellGroup &cg)
Definition: nrncore_io.cpp:118
std::string get_write_path()
Definition: nrncore_io.cpp:44
const char * bbcore_write_version
Definition: nrncore_io.cpp:25
void write_nrnthread_task(const char *, CellGroup *cgs, bool append)
Write all dataset ids to files.dat.
Definition: nrncore_io.cpp:375
size_t p
void(*)(double *, int *, int *, int *, double *, Datum *, Datum *, NrnThread *) bbcore_write_t
Definition: init.cpp:151
#define data
Definition: rbtqueue.cpp:49
double T
Definition: rbtqueue.cpp:25
#define NULL
Definition: sptree.h:16
Compartment mapping information for NrnThread.
size_t size()
number of cells
Represent main neuron object computed by single thread.
Definition: multicore.h:58
Definition: hocdec.h:177
static const char * fname(const char *name)
Definition: nrnbbs.cpp:113