<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 一種基于模板元編程的量綱檢測方法

一種基于模板元編程的量綱檢測方法

作者: 時(shí)間:2009-07-14 來(lái)源:網(wǎng)絡(luò ) 收藏
2.4 定義單位量綱
量綱檢測系統應該預定義常用單位量綱,以方便應用開(kāi)發(fā)人員使用。TADA方法采用如下方式定義單位量綱:

本文引用地址:http://dyxdggzs.com/article/195807.htm



2.5 數學(xué)運算函數的量綱包裝
對于指數、對數、三角函數等已有的數學(xué)運算函數,其參數與返回值都是沒(méi)有單位量綱的,不能直接用于有量綱的公式計算。針對這個(gè)問(wèn)題,.TADA方法提供了這些函數的量綱包裝,以sqrt和sin為例如下:


2.6 輔助工具
TADA方法還提供了一些輔助工具,用于將量綱變量以適合閱讀的方式顯示出來(lái),例如:


可以得到這樣的輸出結果:0.2米/秒2
2.7 分析和評估
在TADA方法的基礎上,實(shí)現了面向C/C++程序的量綱檢測系統(TADA系統),并對TADA系統的檢測能力進(jìn)行了分析和評估。
首先采用TADA系統來(lái)檢測下面的樣例程序。


在TADA系統中,Visual Studio 2003編譯該程序會(huì )出現類(lèi)似如下的錯誤信息,錯誤信息的第3行就表明了unit.epp的第9行有錯誤。


在檢測能力方面,采用文獻的樣例程序對TA-DA系統和Osprey系統的量綱檢測能力進(jìn)行了對比評估。在文獻中,Osprey共找到了3個(gè)錯誤,其中前2個(gè)是單位誤用錯誤,第3個(gè)是單位轉換比例因子錯誤。TADA系統也完全找到了前2個(gè)錯誤,而第3個(gè)錯誤在標注時(shí)被避免掉了,因為該單位系統包含了量綱之間的比例因子,能夠進(jìn)行自動(dòng)的單位轉換。
在性能和可擴展性方面,TADA系統能夠更有效地實(shí)現對c/c++程序的量綱檢測。Osprey系統引入了具有較高計算復雜度的線(xiàn)性方程組求解步驟,需要很大的計算和時(shí)間開(kāi)銷(xiāo)來(lái)解線(xiàn)性解方程組。TADA系統基于技術(shù),只需要利用語(yǔ)言自身的語(yǔ)法能力,靠編譯器進(jìn)行單位量綱檢查,沒(méi)有帶來(lái)太多額外的復雜計算。并且TADA系統不會(huì )帶來(lái)任何程序的運行時(shí)開(kāi)銷(xiāo)。因此TADA系統可適用于各種規模的C/C++程序,具有更好的性能和可擴展性。
在易用性方面,TADA系統的標注負擔與Osprey系統相當。由于TADA系統利用C++編譯器的功能進(jìn)行錯誤檢測,而C++編譯器遇到模板錯誤時(shí)的錯誤信息卻不很直觀(guān),錯誤報告的可讀性較弱,但仍可以快速定位到錯誤點(diǎn)。

3 結 語(yǔ)
這里提出一種新穎的基于的單位量綱TADA,并基于該方法實(shí)現了一個(gè)單位量綱檢測系統。
TADA方法采用技術(shù),使得經(jīng)過(guò)單位量綱標注的受測程序仍然是一個(gè)完整、合法、可編譯的C/C++程序,無(wú)需維護多套程序代碼,也無(wú)需進(jìn)行復雜的解方程組運算,就能夠在程序代碼中發(fā)現量綱錯誤,具有良好的實(shí)用性和可擴展性,可以有效適用于多種規模程序的量綱檢測。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 模板元編程 檢測方法

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>