3d_data/macro.hでは
3d_dataヘッダファイルパッケージで主に用いるマクロが定義されている。
各マクロの定義を以下に示す。
Macros mainly used in 3d_data header file package
are defined in 3d_data/macro.h.
Definitions of individual macros are shown below.
◆共通事項
(Notes common to all macros)
C言語組み込みヘッダファイル内に同名のマクロが存在する場合であっても
ymaeda_opentoolsのマクロ定義が優先される。
そのために#undefしてから#defineするようにしている。
The definitions of macros in ymaeda_opentools
are used with a higher priority than
macros with the same name in built-in header files of the C language.
To realize this, each macro is defined
after canceling existing definitions by #undef.
特定のプログラムにおいてmacro.hの設定と異なるマクロの値を使用したい場合、
inc.hのインクルードよりも前に
#define USER_DEFINED_マクロ名
#define マクロ名 値
と書く。例えば特定のプログラムにおいて
マクロZERO_THRESHOLDの値を1.0e-06にしたい場合、
#define USER_DEFINED_ZERO_THRESHOLD
#define ZERO_THRESHOLD 1.0e-06
#include <inc.h>
のように書けば良い。
To use the value of a macro different from that in macro.h
in a certain program, write as
#define USER_DEFINED_macro name
#define macro namevalue
before including inc.h.
For example, to use 1.0e-06 for a macro ZERO_THRESHOLD
in a certain program, write as
#define USER_DEFINED_ZERO_THRESHOLD
#define ZERO_THRESHOLD 1.0e-06
#include <inc.h>
at the head of the program.
のように書ける。これにより、コードの中身がより分かりやすくなる。
A function-type macro to relate grid node indices (\(i,j,k\)) of a 3-D data
to an array component index of member value of
a struct _3d_data-type structure.
Using this macro, the data value on a grid node
which had to be referred to as