abc プロジェクト
14.8.33. TTuneRegion メンバ関数説明

メンバ関数名 TTuneRegion
定義ファイル名TuneRegion.cpp
定義行 37
所属名 TTuneRegion
アクセス属性 public
宣言形式 TTuneRegion ( TPass4 * aPass4 , int Pos )
概要 TRuneReginクラスの生成
戻り値
パラメタ説明 aPass4 呼び出し元パス4
Pos 開始位置
機能説明
備考

呼出し先関数一覧表
名称 定義ファイル名 定義行
1 TMainF::err main.cpp 271
2 TTuneRegion::MakeSelectData TuneRegion.cpp 187
3 TTuneRegion::MakeUnrollData TuneRegion.cpp 577
4 AddObject

参照外部変数一覧表
名称 定義ファイル名 定義行
1 MainF main.cpp 26

参照メンバ変数一覧表
名称 定義ファイル名 定義行
1 TTuneRegion::AccordingStr TuneRegion.h 134
2 TTuneRegion::ArgValList TuneRegion.h 140
3 TTuneRegion::BaseValList TuneRegion.h 148
4 TTuneRegion::DoToken TuneRegion.h 182
5 TTuneRegion::DoValToken TuneRegion.h 183
6 TTuneRegion::FittingDegree TuneRegion.h 168
7 TTuneRegion::FittingType TuneRegion.h 166
8 TTuneRegion::Number TuneRegion.h 138
9 TTuneRegion::OffsetStr TuneRegion.h 146
10 TTuneRegion::ParamValList TuneRegion.h 152
11 TTuneRegion::Pass4 TuneRegion.h 90
12 TTuneRegion::SampledList TuneRegion.h 169
13 TTuneRegion::SubRegionList TuneRegion.h 143
14 TTuneRegion::TokenEndPos TuneRegion.h 123
15 TTuneRegion::TokenList TuneRegion.h 120
16 TTuneRegion::TokenStartPos TuneRegion.h 122
17 TTuneRegion::TuneGroup TuneRegion.h 128
18 TTuneRegion::TuneGroupName TuneRegion.h 129
19 TTuneRegion::TuneKind TuneRegion.h 130
20 TTuneRegion::UseAccordingF TuneRegion.h 132
21 TTuneRegion::UsedDynPefThis TuneRegion.h 135
22 TTuneRegion::ValBitsList TuneRegion.h 142
23 TTuneRegion::ValDataList TuneRegion.h 121
24 TTuneRegion::variedCount TuneRegion.h 157

参照先一覧表
名称 種別 定義ファイル名 定義行
1 TPass4 クラス pass4.h 31
2 TScript クラス pass3.h 151
3 TScValData クラス pass3.h 112
4 TToken クラス pass1.h 216

関数論理チャート

        |  +--------------------------------------------------+ 
    37  +--+ TTuneRegion::TTuneRegion(TPass4 *aPass4,int Pos) | 
    38     | {                                                | 
           +--+-----------------------------------------------+ 
    39        +--- TScript *Script;
    40        +--- TToken *Token;
    41        +--- int i,Nest;
    42        +--- int j;
    43        +--- TScValData *ScValData;
    44        |    
    45        +--- Pass4 = aPass4;
    46        +--- TokenStartPos = Pos;
    47        +--- TokenList = Pass4->TokenList;
    48        +--- ValDataList = Pass4->ValDataList;
    49        +--- ArgValList = new TStringList;   // サブルーチンにする場合の引数リスト
    50        +--- BaseValList = new TStringList;  // 基本パラメータ名の変数リスト
    51        +--- ParamValList = new TStringList; // パラメータ文の変数リスト
    52        +--- ValBitsList = new TList;
    53        +--- SubRegionList = new TList;          // サブリージョンリスト TSubRegion クラス
    54        +--- UseAccordingF = false;
    55        +--- UsedDynPefThis = false;  // DynPefThisスクリプトが使用された。
    56        +--- Number = 0;
    57        +--- AccordingStr = "";
    58        +--- OffsetStr = "";
    59        +--- FittingType = 0;        // Type = 0:なし、1:least-square,2:user_defined
    60        +--- FittingDegree = 0;      // 多項式の次数
    61        +--- SampledList = NULL;     // intの形で Sampledの値がセット(実体は、Scriptのデータ)
    62        |                                                                                       
              |  +------------------------------------+ 
    63        +--+ for(int kk = 0 ; kk < 32 ; kk++){  | 
              |  +--+---------------------------------+ 
    64        |     +--- DoToken[kk] = NULL;
    65        |     +--- DoValToken[kk] = NULL;
              |   +-+---+ 
    66        |   |  }  | 
              |   +-----+ 
    67        +--- Token = (TToken *)TokenList->Items[Pos];
    68        +--- Script = (TScript *)Token->Script;
    69        +--- variedCount = 0;
    70        |    
              |  +------------------------------------+ 
    71        +--+ if(Script->ScType == sct_install){ | 
              |  +--+---------------------------------+ 
    72        |     +--- TuneGroup = tgInstall;
    73        |     +--- TuneGroupName = "Install";
              |   +-+---+ 
    74        |   |  }  | 
              |   +-+---+ 
              |   +-+---------------------------------------+ 
    74        |   |  else if(Script->ScType == sct_static){ | 
              |   +-+---------------------------------------+ 
    75        |     +--- TuneGroup = tgStatic;
    76        |     +--- TuneGroupName = "Static";
              |   +-+---+ 
    77        |   |  }  | 
              |   +-+---+ 
              |   +-+-----------------------------------------+ 
    77        |   |  else if(Script->ScType == sct_dynamic){  | 
              |   +-+-----------------------------------------+ 
    78        |     +--- TuneGroup = tgDynamic;
    79        |     +--- TuneGroupName = "Dynamic";
              |   +-+---+ 
    80        |   |  }  | 
              |   +-----+ 
    81        +--- //
    82        |    // region end を探す。(そこまでが、ブロックになる) 
    83        |    // Nestしている場合は、内側は別とする。              
    84        |    //                                                   
    85        +--- TokenEndPos = -1;
    86        +--- Nest = 0;
              |  +--------------------------------------------+ 
    87        +--+ for(i = Pos ; i < TokenList->Count ; i++){ | 
              |  +--+-----------------------------------------+ 
    88        |     +--- Token = (TToken *)TokenList->Items[i];
              |     |  +----------------------------+ 
    89        |     +--+ if(Token->Script == NULL){ | 
              |     |  +--+-------------------------+ 
              |     |     |  +------------+ 
    90        |     |     +--+ continue;  | 
              |     |     |  +------------+ 
              |     |   +-+---+ 
    91        |     |   |  }  | 
              |     |   +-----+ 
    92        |     +--- Script = (TScript *)Token->Script;
              |     |  +------------------------------------+ 
    93        |     +--+ if(Script->ScRegion == scr_start){ | 
              |     |  +--+---------------------------------+ 
    94        |     |     +--- Nest++;
              |     |   +-+---+ 
    95        |     |   |  }  | 
              |     |   +-+---+ 
              |     |   +-+---------------------------------------+ 
    95        |     |   |  else if(Script->ScRegion == scr_end){  | 
              |     |   +-+---------------------------------------+ 
    96        |     |     +--- Nest--;
              |     |     |  +----------------+ 
    97        |     |     +--+ if(Nest == 0){ | 
              |     |     |  +--+-------------+ 
    98        |     |     |     +--- TokenEndPos = i;
              |     |     |     |  +--------+ 
    99        |     |     |     +--+ break; | 
              |     |     |     |  +--------+ 
              |     |     |   +-+---+ 
   100        |     |     |   |  }  | 
              |     |     |   +-----+ 
              |     |   +-+---+ 
   101        |     |   |  }  | 
              |     |   +-----+ 
              |   +-+---+ 
   102        |   |  }  | 
              |   +-----+ 
              |  +------------------------+ 
   103        +--+ if(TokenEndPos == -1){ | 
              |  +--+---------------------+ 
   104        |     +--- TokenEndPos = Pos;  // Loop回避のため
   105        |     +--- MainF->err("region end が見つかりません。");
              |     |  +----------+ 
   106        |     +--+ return;  | 
              |     |  +----------+ 
              |   +-+---+ 
   107        |   |  }  | 
              |   +-----+ 
              |  +--------------------------------------+ 
   108        +--+ if(Script->ScAction == sca_unroll){  | 
              |  +--+-----------------------------------+ 
   109        |     +--- TuneKind = tkUnroll;
   110        |     +--- MakeUnrollData(Pos); // Unrollのデータを作成する。
              |   +-+---+ 
   111        |   |  }  | 
              |   +-+---+ 
              |   +-+-------+ 
   111        |   |  else{  | 
              |   +-+-------+ 
   112        |     +--- TuneKind = tkSelect;
   113        |     +--- MakeSelectData(Pos); // Selectのデータを作成する。
              |   +-+---+ 
   114        |   |  }  | 
              |   +-----+ 
   115        +--- //
   116        |    //  リージョン開始直前のスクリプト BPsetを探す。                      
   117        |    //  BPset (ValNameList)から BaseValNameListを作成する。                
   118        |    //  もし、定義がない場合は、以前との互換性のために N,NX,NY,NZとなる。  
   119        |    //                                                                     
              |  +--------------------------------------+ 
   120        +--+ for(i = TokenEndPos ; i >= 0 ; i--){ | 
              |  +--+-----------------------------------+ 
   121        |     +--- Token = (TToken *)TokenList->Items[i];
              |     |  +----------------------------+ 
   122        |     +--+ if(Token->Script == NULL){ | 
              |     |  +--+-------------------------+ 
              |     |     |  +------------+ 
   123        |     |     +--+ continue;  | 
              |     |     |  +------------+ 
              |     |   +-+---+ 
   124        |     |   |  }  | 
              |     |   +-----+ 
   125        |     +--- Script = (TScript *)Token->Script;
              |     |  +----------------------------------------------------------------------+ 
   126        |     +--+ if((Script->ScType == sct_BPset)&&(Script->ScValDataList != NULL)){  | 
              |     |  +--+-------------------------------------------------------------------+ 
              |     |     |  +------------------------------------------------------+ 
   127        |     |     +--+ for(j = 0 ; j < Script->ScValDataList->Count ; j++){ | 
              |     |     |  +--+---------------------------------------------------+ 
   128        |     |     |     +--- ScValData = (TScValData *)Script->ScValDataList->Items[j];
   129        |     |     |     +--- BaseValList->AddObject(ScValData->Str,(TObject *)ScValData);
              |     |     |   +-+---+ 
   130        |     |     |   |  }  | 
              |     |     |   +-----+ 
              |     |     |  +--------+ 
   131        |     |     +--+ break; | 
              |     |     |  +--------+ 
              |     |   +-+---+ 
   132        |     |   |  }  | 
              |     |   +-----+ 
              |   +-+---+ 
   133        |   |  }  | 
              |   +-----+ 
              |  +------------------------------+ 
   134        +--+ if(BaseValList->Count == 0){ | 
              |  +--+---------------------------+ 
   135        |     +--- BaseValList->AddObject("N",NULL);
   136        |     +--- BaseValList->AddObject("NX",NULL);
   137        |     +--- BaseValList->AddObject("NY",NULL);
   138        |     +--- BaseValList->AddObject("NZ",NULL);
              |   +-+---+ 
   139        |   |  }  | 
              |   +-----+ 
            +-+---+ 
   140      |  }  | 
            +-----+