てきとう

てきとう

Adaにおける正負なし整数型 modular integer type

type My_Modular is mod 256;

みたいなやつ。この場合、取り得る値の範囲は0..255。ただし、

type My_Signed is range 0..255;

と書くのとはちょっと違う。

N:My_Signed:=256;

はエラーになるが、

N:My_Modular:=256;

はエラーにならず、Nには0が代入される。
要するに、代入時にmod演算が適用される。名前のまんま。
なお、modular integerには以下の属性がある:(signed integerには無い。)

S'Modulus
ようするにtype Foo is mod Bar;のBar。多分generic用。
S'Mod
引数(型はuniversal-integer)をSに代入した時の値。型はS。