<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/195807.htm



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


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


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


          在TADA系統(tǒng)中,Visual Studio 2003編譯該程序會出現(xiàn)類似如下的錯誤信息,錯誤信息的第3行就表明了unit.epp的第9行有錯誤。


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

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


          上一頁 1 2 3 下一頁

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

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();