torch ライブラリの C コード全体で、次のような関数が見られます。
long THTensor_(storageOffset)(const THTensor *self)
{
return self->storageOffset;
}
これはプリプロセッサの問題ですか、それとも lua 固有のものですか? storageOffset
このアイデアは、「クラス」の一種のメソッドであるという事実と関係があると思いますが、THTensor
この種の構文は見たことがありません。
torch ライブラリの C コード全体で、次のような関数が見られます。
long THTensor_(storageOffset)(const THTensor *self)
{
return self->storageOffset;
}
これはプリプロセッサの問題ですか、それとも lua 固有のものですか? storageOffset
このアイデアは、「クラス」の一種のメソッドであるという事実と関係があると思いますが、THTensor
この種の構文は見たことがありません。
プリプロセッサマクロです
lib/TH/THTensor.h:
#define THTensor_(NAME) TH_CONCAT_4(TH,Real,Tensor_,NAME)
につながる...
lib/TH/THGeneral.h.in:
#define TH_CONCAT_4(x,y,z,w) TH_CONCAT_4_EXPAND(x,y,z,w)
そして最後に...
lib/TH/THGeneral.h.in:
#define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
したがって、
long THTensor_(storageOffset)(const THTensor *self)
最終的には次のようになります。
long THRealTensor_storageOffset(const THTensor *self)
プリプロセッサは単にgrandではありませんか?