SystemC-2.2からあります。
絶対値を返す関数になります。
※ただし、sc_bit/sc_logicなどのデータ型には使えません。
template <class T>
const T sc_abs( const T& );
- サンプルコード
1|#include <systemc.h> 2| 3|int sc_main(int argc, char* argv[]) 4|{ 5| sc_int<10> a, b, c; 6| sc_int<10> c_abs; 7| a = 10; 8| b = 20; 9| c = a + b; 10| c_abs = sc_abs(c); 11| 12| cout << "a = " << a.to_string(SC_DEC) << ", b = " << b.to_string(SC_DEC) << endl; 13| cout << "a + b = " << c.to_string(SC_DEC) << endl; 14| cout << "sc_abs(c) = " << c_abs.to_string(SC_DEC) << endl; 15| cout << "" << endl; 16| 17| a = 30; 18| b = -50; 19| c = a + b; 20| c_abs = sc_abs(c); 21| 22| cout << "a = " << a.to_string(SC_DEC) << ", b = " << b.to_string(SC_DEC) << endl; 23| cout << "a + b = " << c.to_string(SC_DEC) << endl; 24| cout << "sc_abs(c) = " << c_abs.to_string(SC_DEC) << endl; 25| 26| return 0; 27|}
- 実行結果
SystemC 2.3.0-ASI --- Jul 13 2012 06:33:43 Copyright (c) 1996-2012 by all Contributors, ALL RIGHTS RESERVED a = 10, b = 20 a + b = 30 sc_abs(c) = 30 a = 30, b = -50 a + b = -20 sc_abs(c) = 20
- 関連記事
-
- SystemC-2.2とSystemC-2.3で Valgrindの結果が異なる
- SystemC Utillity functions : sc_max, sc_min
- SystemC Utillity functions : sc_abs
- SystemC Utillity functions : Version and Copyright
- SystemC 2.3 : sc_vector