てきとう

てきとう

考え無しメモ

Adaにおける浮動小数点数 floating point

type FooBar is digits Baz; こんなん。オプションでrange Foo..Barとかがついたりする。付けた場合、値はその範囲に束縛される。 実装の中身については、当然ながら特に決まりはない。 ただし、BazはSystem.Max_Base_Digitsの値を越えてはいけない。 さらに…

Adaにおける実数

浮動小数点数 floating point と固定小数点数 fixed point の2種類。 共通の属性は(恐らく)無い。

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が代入される…

Adaにおける正負あり整数

type My_Integer is range -127..128; みたいなやつ。範囲は当然両端を含む。 StandardにはIntegerとPositiveとNaturalが定義されている。実装に丸投げだけど。 type Integer is range implementation-defined; type Natural is new Integer range 0..Intege…

Adaにおける列挙型 enumeration type

type Foo_Bar_Baz is (Foo, Bar, Baz); みたいなやつ。論理型 Boolean もパッケージ Standard で以下のように定義される。 type Boolean is (True, False) ついでに文字 Character(文字列 String ではない)も。 type Character (nul, soh, stx, (略) , '…

Adaにおける離散型

列挙型、正負あり整数型、正負なし整数型をまとめて『離散型』と言う。*1 離散型には以下のような属性がある: S'Pos 型Sの変数Vを表す整数(universal-integer*2)を返す。 S'Val 整数(universal-integer)が示すSにおける値を返す。 *1:多分。別な、もっ…

Adaにおける数

数は共通に属性*1を持つ:(ただしこのリストは一部。c.f. ARM 3.5.) S'First 型のとりうる最初(≒最小)の値。 S'Last 型のとりうる最後(≒最大)の値。 S'Range range S'First..S'Lastと一緒。 S'Min 2つの値のうち、小さい方。 S'Max 大きい方。 S'Succ …

Adaにおける型

一覧。ARM 3.2から適当に改変。日本語も適当。 基本型 elementary 数 scalar 離散型 discrete 列挙型 enumeration (文字、真偽値、…) 正負あり整数 signed integer 正負なし整数 modular integer 実数 real 浮動小数点値 floating point 固定小数点値 fixe…