RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
マクロ定義
wiring.h

算術演算、数学演算、論理演算など細かなルーチン [詳細]

ソースコードを見る。

マクロ定義

#define min(a, b)   ((a)<(b)?(a):(b))
 2つの数値のうち小さいほうの値を返す [詳細]
 
#define max(a, b)   ((a)>(b)?(a):(b))
 2つの数値のうち大きいほうの値を返す [詳細]
 
#define bit(b)   (1UL << (b))
 指定したビットを論理1(high)にする [詳細]
 
#define lowByte(w)   ((uint8_t) ((w) & 0xff))
 変数の下位1バイトを取り出す [詳細]
 
#define highByte(w)   ((uint8_t) ((w) >> 8))
 変数の上位1バイトを取り出す.(2バイトより大きな型に対しては,下位から2番目の変数を取り出す) [詳細]
 
#define bitRead(value, bit)   (((value) >> (bit)) & 0x01)
 変数から指定したビットを読み取る. [詳細]
 
#define bitSet(value, bit)   ((value) |= (1UL << (bit)))
 変数から指定したビットをセットする. [詳細]
 
#define bitClear(value, bit)   ((value) &= ~(1UL << (bit)))
 変数から指定したビットをクリアする. [詳細]
 
#define bitWrite(value, bit, bitvalue)   (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
 変数から指定したビットをセットする. [詳細]
 
#define min(a, b)   ((a)<(b)?(a):(b))
 2つの数値のうち小さいほうの値を返す [詳細]
 
#define max(a, b)   ((a)>(b)?(a):(b))
 2つの数値のうち大きいほうの値を返す [詳細]
 
#define abs(x)   ((x)>0?(x):-(x))
 絶対値を計算する [詳細]
 
#define constrain(amt, low, high)   ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
 数値を指定した範囲の中に収める [詳細]
 
#define round(x)   ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
 指定された浮動小数点数を最も近い整数値に丸める [詳細]
 
#define radians(deg)   ((deg)*DEG_TO_RAD)
 指定されたdegree値をradianに変換する [詳細]
 
#define degrees(rad)   ((rad)*RAD_TO_DEG)
 指定されたradian値をdegreeに変換する [詳細]
 
#define sq(x)   ((x)*(x))
 指定された値の2乗を求める [詳細]
 
#define log10(x)   (log(x)/log(10))
 指定された値の常用対数を求める [詳細]
 
#define map(x, in_min, in_max, out_min, out_max)   (((x) - (in_min)) * ((out_max) - (out_min)) / ((in_max) - (in_min)) + (out_min))
 数値をある範囲から別の範囲に変換する. in_minと同じ値を与えると,out_minが返り,in_maxと同じ値ならout_highとなります. その中間の値は,2つの範囲の大きさの比に基づいて計算されます. そのほうが便利な場合があるので,この関数は範囲外の値も切り捨てません. ある範囲のなかに収めたい場合は,constrain関数と併用してください. [詳細]
 

説明

算術演算、数学演算、論理演算など細かなルーチン

wiring.h で定義されています。

マクロ定義

#define min (   a,
 
)    ((a)<(b)?(a):(b))

2つの数値のうち小さいほうの値を返す

引数
[in]a1つ目の値
[in]b2つ目の値
戻り値
小さいほうの数値(int)

wiring.h113 行で定義されています。

#define max (   a,
 
)    ((a)>(b)?(a):(b))

2つの数値のうち大きいほうの値を返す

引数
[in]a1つ目の値
[in]b2つ目の値
戻り値
大きい方の数値(int)

wiring.h122 行で定義されています。

#define bit (   b)    (1UL << (b))

指定したビットを論理1(high)にする

引数
[in]bビット番号
戻り値
unsigned long

wiring.h46 行で定義されています。

#define lowByte (   w)    ((uint8_t) ((w) & 0xff))

変数の下位1バイトを取り出す

引数
[in]w変数(int)
戻り値
unsigned char

wiring.h55 行で定義されています。

#define highByte (   w)    ((uint8_t) ((w) >> 8))

変数の上位1バイトを取り出す.(2バイトより大きな型に対しては,下位から2番目の変数を取り出す)

引数
[in]w変数(int)
戻り値
unsigned char

wiring.h64 行で定義されています。

#define bitRead (   value,
  bit 
)    (((value) >> (bit)) & 0x01)

変数から指定したビットを読み取る.

引数
[in]value読み取る対象となる変数(unsigned long)
[in]bit読み取るビットの位置.右端から数えて何ビット目か(int)
戻り値
0 または1

wiring.h74 行で定義されています。

#define bitSet (   value,
  bit 
)    ((value) |= (1UL << (bit)))

変数から指定したビットをセットする.

引数
[in]value対象となる変数(unsigned long)
[in]bitセットするビットの位置.右端から数えて何ビット目か(int)
戻り値
なし

wiring.h84 行で定義されています。

#define bitClear (   value,
  bit 
)    ((value) &= ~(1UL << (bit)))

変数から指定したビットをクリアする.

引数
[in]value対象となる変数(unsigned long)
[in]bitクリアするビットの位置.右端から数えて何ビット目か(int)
戻り値
なし

wiring.h94 行で定義されています。

#define bitWrite (   value,
  bit,
  bitvalue 
)    (bitvalue ? bitSet(value, bit) : bitClear(value, bit))

変数から指定したビットをセットする.

引数
[in]value対象となる変数(unsigned long)
[in]bitセットするビットの位置.右端から数えて何ビット目か(int)
[in]bitvalueセットする値 0か1
戻り値
なし

wiring.h103 行で定義されています。

#define min (   a,
 
)    ((a)<(b)?(a):(b))

2つの数値のうち小さいほうの値を返す

引数
[in]a1つ目の値
[in]b2つ目の値
戻り値
小さいほうの数値(int)

wiring.h113 行で定義されています。

#define max (   a,
 
)    ((a)>(b)?(a):(b))

2つの数値のうち大きいほうの値を返す

引数
[in]a1つ目の値
[in]b2つ目の値
戻り値
大きい方の数値(int)

wiring.h122 行で定義されています。

#define abs (   x)    ((x)>0?(x):-(x))

絶対値を計算する

引数
[in]x数値
戻り値
xが0以上のときはxをそのまま返し,xが0より小さいときは-xを返す(int)

wiring.h131 行で定義されています。

#define constrain (   amt,
  low,
  high 
)    ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

数値を指定した範囲の中に収める

引数
[in]amt計算対象の値
[in]low範囲の下限
[in]high範囲の上限
戻り値
amtがlow以上のhigh以下のときはamtをそのまま返し,amtがlowより小さいときはlowを, amtがhighより大きいときはhighを返す(int)

wiring.h143 行で定義されています。

#define round (   x)    ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))

指定された浮動小数点数を最も近い整数値に丸める

引数
[in]x計算対象の値
戻り値
long(戻り値の定義に注意)
警告
この関数は実装されていません

wiring.h153 行で定義されています。

#define radians (   deg)    ((deg)*DEG_TO_RAD)

指定されたdegree値をradianに変換する

引数
[in]deg計算対象の値
戻り値
double

wiring.h162 行で定義されています。

#define degrees (   rad)    ((rad)*RAD_TO_DEG)

指定されたradian値をdegreeに変換する

引数
[in]rad計算対象の値
戻り値
計算結果

wiring.h171 行で定義されています。

#define sq (   x)    ((x)*(x))

指定された値の2乗を求める

引数
[in]x計算対象の値
戻り値
計算結果

wiring.h180 行で定義されています。

#define log10 (   x)    (log(x)/log(10))

指定された値の常用対数を求める

引数
[in]x計算対象の値
戻り値
計算結果

wiring.h188 行で定義されています。

#define map (   x,
  in_min,
  in_max,
  out_min,
  out_max 
)    (((x) - (in_min)) * ((out_max) - (out_min)) / ((in_max) - (in_min)) + (out_min))

数値をある範囲から別の範囲に変換する. in_minと同じ値を与えると,out_minが返り,in_maxと同じ値ならout_highとなります. その中間の値は,2つの範囲の大きさの比に基づいて計算されます. そのほうが便利な場合があるので,この関数は範囲外の値も切り捨てません. ある範囲のなかに収めたい場合は,constrain関数と併用してください.

引数
[in]x変換したい値
[in]in_min現在の範囲の下限
[in]in_max現在の範囲の上限
[in]out_min変換後の範囲の下限
[in]out_max変換後の範囲の上限
戻り値
変換後の数値 (long)

wiring.h205 行で定義されています。