boost-units

    3熱度

    1回答

    這是一個非常簡約的例子。我使用Boost.Units以下列方式: #define REAL double ... using namespace boost::units; quantity<si::velocity, REAL> v; 然後有時候我需要有像 quantity<si::velocity, REAL> v_halved; v_halved = 0.5 * v; 該工程

    0熱度

    2回答

    我有一個開源的熱力學屬性庫,它是用C++編寫的,我終於因處理單元而感到沮喪。因此,我想將boost :: units添加到我的核心代碼中,以便使用boost :: units來執行所有使用零ish(?)計算開銷的單元處理。 但我需要我的代碼來運行跨平臺/交叉編譯器(boost可以做到這一點),理想情況下不需要下載所有的提升,因爲它不是一個小包。 所以,我想知道的是: 是否有可能只包括升壓的一小部分

    0熱度

    1回答

    #include <iostream> #include <boost/units/quantity.hpp> #include <boost/units/systems/si/length.hpp> using namespace boost::units; struct bu1 : base_unit<bu1, length_dimension, 2001> {}; struct

    1熱度

    1回答

    我試圖編寫一個分子動力學程序,我認爲Boost.Units是變量的邏輯選擇,並且我還決定Boost.Multiprecision提供了一個比double更好的選項或關於舍入誤差的long double。兩者的結合似乎相當直接,直到我試圖使用一個常量,然後崩潰。 #include <boost/multiprecision/gmp.hpp> #include <boost/units/io.hpp

    5熱度

    1回答

    我正在嘗試爲米和公里創建單位。然後我想要相應地總結和轉換它們。我知道boost :: units庫已經有了SI系統,但是我想從頭開始創建,因爲之後我需要爲我的項目創建自己的系統(所以我這樣做是爲了學習)。 我的目的是宣佈「長度」變量,可以使用單位進行修改:比如我想寫 Length xLength1 = 5350 * Meters + 2 Kilometers; 爲此,我創建了length.h文

    7熱度

    3回答

    我想對某些SI度量使用boost :: units。但是我們的代碼大多是涉及毫米,而不是使用 quantity<length> value = 1*milli*meter; 我們寧願像 quantity<length> value = 1*millimeter; 東西但是我不知道如何界定「毫米」(不使用的#define)和。 其次,使用前綴單元的開銷是多少? 更新:這需要沒有C++ 11個

    6熱度

    3回答

    我需要將數量的值傳遞給庫進行評估。 boost units library在SI中具有雙重值,因此增強單元庫在確保該要求方面非常有吸引力。但是,我應該如何將數量轉換爲雙倍數值?文檔和示例似乎避免了這種情況,因爲其意圖是合理地維護這些單元。 喜歡的東西: quantity<pressure> p(101.1 * kilo * pascals); double dblP = static_cast<

    0熱度

    1回答

    boost::units library提供了將數量值寫入流的不錯方法,see for example。 我可以使用printf的數量值而不是使用輸出流嗎?我有相當數量的代碼使用printf很好地格式化了輸出,我想保持格式化。路過的數量成說 quantity<mass_density> rho = 1.0 * mass_density; printf("rho %6.2e\n", rho);

    6熱度

    2回答

    概念,在我看來,使用基於單元強制執行措施的類型(米,秒,千克)將有巨大的好處(額外的檢查在通過指定參數時,擺脫在瓦爾單位名稱等),但我已經不會遇到儘可能多的代碼。我見過的代碼使用了自定義類型。 我看到升壓有一個單位庫(升壓::單位根本不夠),然而,我沒有看到它的大量證據被廣泛應用於(在一個基本的谷歌搜索)。 有沒有很好的理由呢? 這些似乎意味着這種做法一直沒有像我期望的那樣被廣泛採用,這一定是有原

    2熱度

    2回答

    我想教自己提升單位,但我在使用單位作爲浮動替代時遇到一些問題。 我正在使用自定義的達爾頓/ amu單位進行計算。我的老代碼就像 float baseMass = 14.95; float totalMass = baseMass * 12; 然而,做同樣與單位(dalton_t是量的一個typedef) dalton_t baseMass = 14.95 * units::dalton_ma