diff --git a/include/teqp/constants.hpp b/include/teqp/constants.hpp index ed70f2049f28100fc0edba30dae19d292c12a28a..45589ad23f15965ba6617232c849384c93960775 100644 --- a/include/teqp/constants.hpp +++ b/include/teqp/constants.hpp @@ -5,7 +5,7 @@ const double N_A = 6.02214076e23; ///< Avogadro's number ///< Gas constant, according to CODATA 2019, in the given number type template<typename NumType> const auto get_R_gas() { - const double k_B = 1.380649e-23; ///< Boltzmann constant - const double N_A = 6.02214076e23; ///< Avogadro's number - return N_A*k_B; + const NumType k_B = 1.380649e-23; ///< Boltzmann constant + const NumType N_A_ = 6.02214076e23; ///< Avogadro's number + return static_cast<NumType>(N_A_*k_B); }; \ No newline at end of file diff --git a/include/teqp/types.hpp b/include/teqp/types.hpp index 47505dfb53bb12c8eb2d4f0ff3d2528eda7c92c2..60d51479dbba041d98641f6f7cc7a2df6c960c96 100644 --- a/include/teqp/types.hpp +++ b/include/teqp/types.hpp @@ -63,7 +63,7 @@ auto getbaseval(const T& expr) auto toeig = [](const std::vector<double>& v) -> Eigen::ArrayXd { return Eigen::Map<const Eigen::ArrayXd>(&(v[0]), v.size()); }; auto all_same_length = [](const nlohmann::json& j, const std::vector<std::string>& ks) { - std::set<int> lengths; + std::set<decltype(j[0].size())> lengths; for (auto k : ks) { lengths.insert(j[k].size()); } return lengths.size() == 1; }; diff --git a/src/time_fugcoeff.cpp b/src/time_fugcoeff.cpp index 7647dcc512ce0b705f42e40e4e3f57a3f9daf26e..b103d90878c83041904326c8de57375019dfb56b 100644 --- a/src/time_fugcoeff.cpp +++ b/src/time_fugcoeff.cpp @@ -28,19 +28,25 @@ int main() bool loaded_REFPROP = load_REFPROP(err, path, DLL_name); printf("Loaded refprop: %s @ address %zu\n", loaded_REFPROP ? "true" : "false", REFPROP_address()); if (!loaded_REFPROP) { return EXIT_FAILURE; } - char hpath[256] = " "; - strcpy(hpath, const_cast<char*>(path.c_str())); - SETPATHdll(hpath, 255); + + { + char hpath[256] = " "; + strcpy(hpath, const_cast<char*>(path.c_str())); + SETPATHdll(hpath, 255); + } - int ierr = 0, nc = 1; - char herr[256], hfld[10001] = "PROPANE", hhmx[256] = "HMX.BNC", href[4] = "DEF"; - SETUPdll(nc, hfld, hhmx, href, ierr, herr, 10000, 255, 3, 255); - if (ierr != 0) { - printf("This ierr: %d herr: %s\n", ierr, herr); - return EXIT_FAILURE; + { + int ierr = 0, nc = 1; + char herr[256], hfld[10001] = "PROPANE", hhmx[256] = "HMX.BNC", href[4] = "DEF"; + SETUPdll(nc, hfld, hhmx, href, ierr, herr, 10000, 255, 3, 255); + if (ierr != 0) { + printf("This ierr: %d herr: %s\n", ierr, herr); + return EXIT_FAILURE; + } } // Try to disable caching in REFPROP { + int ierr = 0; char herr[256]; char hflag[256] = "Cache "; int jFlag = 3, kFlag = -1; FLAGSdll(hflag, jFlag, kFlag, ierr, herr, 255, 255); @@ -89,6 +95,7 @@ int main() std::valarray<double> z(20); z = 0.0; z[std::slice(0, Ncomp, 1)] = 1.0 / Ncomp; std::valarray<double> u(20); u = 0.0; auto usummer = 0.0; + int ierr = 0; char herr[256]; auto tic = std::chrono::high_resolution_clock::now(); for (auto j = 0; j < N; ++j) { FUGCOFdll(T, D_moldm3, &(z[0]), &(u[0]), ierr, herr, 255);