From ec3ce156b493a6a0dbc3b21f268a8a3a12330dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Mon, 9 Jan 2023 13:35:49 +0100 Subject: [PATCH] Bytecode: always produce block and non-block versions The block decomposed version is now under <BASENAME>/bytecode/block/. --- src/DynamicModel.cc | 13 ++++++------- src/StaticModel.cc | 13 ++++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 15131e6e..cc011879 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -619,9 +619,9 @@ DynamicModel::writeDynamicBytecode(const string &basename) const void DynamicModel::writeDynamicBlockBytecode(const string &basename) const { - BytecodeWriter code_file {basename + "/model/bytecode/dynamic.cod"}; + BytecodeWriter code_file {basename + "/model/bytecode/block/dynamic.cod"}; - const filesystem::path bin_filename {basename + "/model/bytecode/dynamic.bin"}; + const filesystem::path bin_filename {basename + "/model/bytecode/block/dynamic.bin"}; ofstream bin_file {bin_filename, ios::out | ios::binary}; if (!bin_file.is_open()) { @@ -3318,13 +3318,11 @@ DynamicModel::writeDynamicFile(const string &basename, bool block, bool use_dll, create_directories(plusfolder / "+debug"); } - create_directories(model_dir / "bytecode"); + create_directories(model_dir / "bytecode" / "block"); // Legacy representation if (block) { - writeDynamicBlockBytecode(basename); - if (use_dll) { auto per_block_object_files { writeDynamicPerBlockCFiles(basename, mexext, matlabroot, dynareroot) }; @@ -3343,14 +3341,15 @@ DynamicModel::writeDynamicFile(const string &basename, bool block, bool use_dll, } else { - writeDynamicBytecode(basename); - if (use_dll) writeModelCFile<true>(basename, mexext, matlabroot, dynareroot); else if (!julia) // M-files writeDynamicMFile(basename); // The legacy representation is no longer produced for Julia } + writeDynamicBytecode(basename); + if (block_decomposed) + writeDynamicBlockBytecode(basename); // Sparse representation if (use_dll) diff --git a/src/StaticModel.cc b/src/StaticModel.cc index 2c993b4d..faa81502 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -283,9 +283,9 @@ StaticModel::writeStaticBytecode(const string &basename) const void StaticModel::writeStaticBlockBytecode(const string &basename) const { - BytecodeWriter code_file {basename + "/model/bytecode/static.cod"}; + BytecodeWriter code_file {basename + "/model/bytecode/block/static.cod"}; - const filesystem::path bin_filename {basename + "/model/bytecode/static.bin"}; + const filesystem::path bin_filename {basename + "/model/bytecode/block/static.bin"}; ofstream bin_file {bin_filename, ios::out | ios::binary}; if (!bin_file.is_open()) { @@ -642,13 +642,11 @@ StaticModel::writeStaticFile(const string &basename, bool block, bool use_dll, c create_directories(plusfolder / "+debug"); } - create_directories(model_dir / "bytecode"); + create_directories(model_dir / "bytecode" / "block"); // Legacy representation if (block) { - writeStaticBlockBytecode(basename); - if (use_dll) { auto per_block_object_files { writeStaticPerBlockCFiles(basename, mexext, matlabroot, dynareroot) }; @@ -667,14 +665,15 @@ StaticModel::writeStaticFile(const string &basename, bool block, bool use_dll, c } else { - writeStaticBytecode(basename); - if (use_dll) writeModelCFile<false>(basename, mexext, matlabroot, dynareroot); else if (!julia) // M-files writeStaticMFile(basename); // The legacy representation is no longer produced for Julia } + writeStaticBytecode(basename); + if (block_decomposed) + writeStaticBlockBytecode(basename); // Sparse representation if (use_dll) -- GitLab