Skip to content

Commit

Permalink
Re-add write sizes of dynamic arrays to disk
Browse files Browse the repository at this point in the history
Changes from commit fe0add7 got lost in merge
  • Loading branch information
mstimberg committed Sep 13, 2024
1 parent f1ea1b5 commit c21ec60
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions brian2/devices/cpp_standalone/templates/objects.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -277,15 +277,21 @@ void _write_arrays()
outfile_{{varname}}.open(results_dir + "{{get_array_filename(var)}}", ios::binary | ios::out);
if(outfile_{{varname}}.is_open())
{
if (! {{varname}}.empty() )
{
outfile_{{varname}}.write(reinterpret_cast<char*>(&{{varname}}[0]), {{varname}}.size()*sizeof({{varname}}[0]));
outfile_{{varname}}.close();
}
outfile_{{varname}}.write(reinterpret_cast<char*>(&{{varname}}[0]), {{varname}}.size()*sizeof({{varname}}[0]));
outfile_{{varname}}.close();
} else
{
std::cout << "Error writing output file for {{varname}}." << endl;
}
outfile_{{varname}}.open("{{get_array_filename(var) | replace('\\', '\\\\')}}_size", ios::out);
if (outfile_{{varname}}.is_open())
{
outfile_{{varname}} << {{varname}}.size();
outfile_{{varname}}.close();
} else
{
std::cout << "Error writing size file for {{varname}}." << endl;
}
{% endfor %}

{% for var, varname in dynamic_array_2d_specs | dictsort(by='value') %}
Expand All @@ -305,6 +311,15 @@ void _write_arrays()
{
std::cout << "Error writing output file for {{varname}}." << endl;
}
outfile_{{varname}}.open("{{get_array_filename(var) | replace('\\', '\\\\')}}_size", ios::out);
if (outfile_{{varname}}.is_open()) {
outfile_{{varname}} << {{varname}}.n << " " << {{varname}}.m;
outfile_{{varname}}.close();
} else
{
std::cout << "Error writing size file for {{varname}}." << endl;
}

{% endfor %}
{% if profiled_codeobjects is defined and profiled_codeobjects %}
// Write profiling info to disk
Expand Down

0 comments on commit c21ec60

Please sign in to comment.