IDLの言語構造一覧

下の表はIDLにおけるデータの型と扱うことのできるデータの範囲を表したもである。

C言語との大きな違いはIDLのBYTE型がC言語のunsigned charに対応しているぐらい。

なので言語構造はC言語と基本的には変らない。

配列名
範囲(10進数)
備考
BYTE byte 0〜255 1byte 符号なし
INT Integer -32,768〜32,767 2byte 整数
UINT Unsigned Integer 0〜65533 2byte 整数
LONG 32-bit signed integer -2147483648〜2147483647 4byte 整数
ULONG 32-bit unsigned integer 0〜4294967295 4byte 整数
64bit LONG 64-bit signed integer -922,37203685477,808〜922337203685477807
8byte 整数
64bit ULONG 64-bit unsigned integer 0〜1844674,07370955,615 8byte 整数
FLOAT 32-bit, single-precision, -10^38〜10^38 4byte 実数
DOUBLE 64-bit, double-precision -10^308〜10^308 8byte 実数
COMPLEX A real-imaginary pair of single-precision ** 複素数
DCOMPLEX real-imaginary pair of double-precision ** 倍精度複素数

 

配列宣言関数

下表はデータを格納する配列をつくる時に宣言する関数。

例のようにA=INTARR(300,300,3)と宣言すると、XYZ平面において300*300*3の要素を持った整数型の配列Aがでる。

配列は最大8次元まで宣言することができる。

配列の限界はマシンのスペックに依存する。

関数
説明
STRARR 文字型配列の宣言 A=STARR(10,10)
BYTARR バイト型配列の宣言 **
INTARR 整数型配列の宣言 A=INTARR(300,300,3)
UUINTARR 符号なし整数型配列の宣言 **
LONARR ロングワード型配列の宣言 **
LON64ARR 64ビットロングワード型配列の宣言 **
ULONARR 符号なしロングワード型配列の宣言 **
ULON64ARR 64ビット符号なしロングワード型配列の宣言 **
FLTARR 浮動小数点型配列の宣言 A=FLTARR(10,20,30,5)
DBLARR 倍精度浮動小数点型配列の宣言 **
COMPLEXARR 複素数配列の宣言 **
DCOMPLEXARR 倍精度複素数配列の宣言 **

 

型変換関数

存在する配列の型を別の型に変換する関数。

例のように、浮動小数点型から整数型に変換すると、小数点以下は切り捨てられる。

四捨五入したいときはFIX(値+0.5)になる。

関数
説明
STRING 文字列型に変換 **
BYTE バイト型に変換 **
FIX 整数型に変換 A=1.7 → B=FIX(A) → print, B → 1
UINT 符号なし整数型に変換 **
LONG ロングワード型に変換 **
LONG64 64ビットロングワード型に変換 **
ULONG 符号なしロングワード型に変換 **
ULONG64 64ビット符号なしロングワード型に変換 **
FLOAT 浮動小数点型に変換 A=1 → B=FLOAT(A) → print, B → 1.00000
DOUBLE 倍精度浮動小数点型に変換 **
COMPLEX 複素数に変換 **
DCOMPLEX 倍精度複素数に変換 **

 

以上を必要に応じて覚えるべし。