Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
alkino committed Aug 22, 2023
2 parents afc10aa + 67f7347 commit 984c7f6
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 39 deletions.
16 changes: 2 additions & 14 deletions src/nrniv/nrncore_write/callbacks/nrncore_callbacks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -352,8 +352,8 @@ int nrnthread_dat2_mech(int tid,
int sz = nrn_prop_param_size_[type];

// As the NEURON data is now transposed then for now always create a new
// copy in the format expected by CoreNEURON -- TODO make sure this is
// freed, then later TODO remove the need for this entirely
// copy in the format expected by CoreNEURON.
// TODO remove the need for this entirely
if (!copy) {
data = new double[n * sz];
}
Expand All @@ -363,13 +363,10 @@ int nrnthread_dat2_mech(int tid,
}
}

// double* data1;
if (isart) { // data may not be contiguous
// data1 = contiguous_art_data(ml, n, sz); // delete after use
nodeindices = NULL;
} else {
nodeindices = ml->nodeindices; // allocated below if copy
// data1 = ml->_data[0]; // do not delete after use
}
if (copy) {
if (!isart) {
Expand All @@ -378,15 +375,6 @@ int nrnthread_dat2_mech(int tid,
nodeindices[i] = ml->nodeindices[i];
}
}
// int nn = n * sz;
// for (int i = 0; i < nn; ++i) {
// data[i] = data1[i];
// }
// if (isart) {
// delete[] data1;
// }
// } else {
// data = data1;
}

sz = bbcore_dparam_size[type]; // nrn_prop_dparam_size off by 1 if cvode_ieq.
Expand Down
24 changes: 1 addition & 23 deletions src/nrniv/nrncore_write/io/nrncore_io.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ void write_nrnthread(const char* path, NrnThread& nt, CellGroup& cg) {
writeint(nodeindices, n);
}
writedbl(data, n * sz);
if (nrn_is_artificial_[type]) {
if (data) {
delete[] data;
}
sz = bbcore_dparam_size[type];
Expand Down Expand Up @@ -304,28 +304,6 @@ void writedbl_(double* p, size_t size, FILE* f) {
#define writeint(p, size) writeint_(p, size, f)
#define writedbl(p, size) writedbl_(p, size, f)

void write_contiguous_art_data(double** data, int nitem, int szitem, FILE* f) {
fprintf(f, "chkpnt %d\n", chkpnt++);
// the assumption is that an fwrite of nitem groups of szitem doubles can be
// fread as a single group of nitem*szitem doubles.
for (int i = 0; i < nitem; ++i) {
size_t n = fwrite(data[i], sizeof(double), szitem, f);
assert(n == szitem);
}
}

double* contiguous_art_data(Memb_list* ml, int nitem, int szitem) {
double* d1 = new double[nitem * szitem];
int k = 0;
for (int i = 0; i < nitem; ++i) {
for (int j = 0; j < szitem; ++j) {
d1[k++] = ml->data(i, j);
}
}
return d1;
}


void nrnbbcore_vecplay_write(FILE* f, NrnThread& nt) {
// Get the indices in NetCvode.fixed_play_ for this thread
// error if not a VecPlayContinuous with no discon vector
Expand Down
2 changes: 0 additions & 2 deletions src/nrniv/nrncore_write/io/nrncore_io.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ struct Memb_list;
using bbcore_write_t =
void (*)(double*, int*, int*, int*, Memb_list*, std::size_t, Datum*, Datum*, NrnThread*);

void write_contiguous_art_data(double** data, int nitem, int szitem, FILE* f);
double* contiguous_art_data(Memb_list* ml, int nitem, int szitem);
void write_nrnthread_task(const char*, CellGroup* cgs, bool append);
void nrnbbcore_vecplay_write(FILE* f, NrnThread& nt);

Expand Down

0 comments on commit 984c7f6

Please sign in to comment.