message: use function pool to simply the switch case
diff: @@ -38,7 +38,7 @@ void PlanPowX(ExecPlan &execPlan)
  }
  }
  - //function_pool func_pool;
  + function_pool func_pool;
  if(execPlan.execSeq[0]->precision == rocfft_precision_single)
  {
  @@ -57,14 +57,11 @@ void PlanPowX(ExecPlan &execPlan)
  DevFnCall ptr = nullptr;// typedef void (*DevFnCall)(void *, void *);
  GetWGSAndNT(execPlan.execSeq[0]->length[0], workGroupSize, numTransforms);//get working group size and number of transforms
  - //ptr = func_pool.get_function_single(execPlan.execSeq[0]->length[0]);
  + /*
  switch(execPlan.execSeq[0]->length[0])
  {
  //pow2
  - //assume the hash map has been set up, mymap
  - //ptr = mymap[ execPlan.execSeq[0]->length[0] ];
  -
  case 4096: ptr = &FN_PRFX(dfn_sp_ci_ci_stoc_1_4096); break;
  case 2048: ptr = &FN_PRFX(dfn_sp_ci_ci_stoc_1_2048); break;
  case 1024: ptr = &FN_PRFX(dfn_sp_ci_ci_stoc_1_1024); break;
  @@ -97,8 +94,9 @@ void PlanPowX(ExecPlan &execPlan)
  case 5: ptr = &FN_PRFX(dfn_sp_ci_ci_stoc_1_5); break;
  }
  + */
  -
  + ptr = func_pool.get_function_single(execPlan.execSeq[0]->length[0]);
  execPlan.devFnCall.push_back(ptr);
  GridParam gp;
  size_t batch = execPlan.execSeq[0]->batch;
  @@ -322,7 +320,7 @@ void PlanPowX(ExecPlan &execPlan)
  size_t numTransforms;
  DevFnCall ptr = nullptr;
  GetWGSAndNT(execPlan.execSeq[0]->length[0], workGroupSize, numTransforms);//get working group size and number of transforms
  -
  +/*
  switch(execPlan.execSeq[0]->length[0])
  {
  //pow2
  @@ -357,7 +355,8 @@ void PlanPowX(ExecPlan &execPlan)
  case 5: ptr = &FN_PRFX(dfn_dp_ci_ci_stoc_1_5); break;
  }
  -
  +*/
  + ptr = func_pool.get_function_double(execPlan.execSeq[0]->length[0]);
  execPlan.devFnCall.push_back(ptr);
  GridParam gp;
  