| 115 | |
| 116 | template <typename ElemType> |
| 117 | RotmgPerformanceTest<ElemType>::RotmgPerformanceTest( |
| 118 | BlasFunction fn, |
| 119 | TestParams *params) : PerformanceTest(fn,(problem_size_t) ((4 + 3 + 10) * sizeof(ElemType))), params_(*params) |
| 120 | // D1,D2,X and Param are Read/Write and Y is Read only |
| 121 | { |
| 122 | |
| 123 | D1_ = D2_ = X_ = Y_ = PARAM_ = NULL; |
| 124 | back_D1_ = back_D2_ = back_X_ = back_Y_ = back_PARAM_ = NULL; |
| 125 | mobjD1_ = mobjD2_ = mobjX_= mobjY_ = mobjParam_ = NULL; |
| 126 | |
| 127 | try |
| 128 | { |
| 129 | D1_ = new ElemType[1 + params_.offa]; |
| 130 | back_D1_ = new ElemType[1 + params_.offa]; |
| 131 | D2_ = new ElemType[1 + params_.offb]; |
| 132 | back_D2_ = new ElemType[1 + params_.offb]; |
| 133 | X_ = new ElemType[1 + params_.offBX]; |
| 134 | back_X_ = new ElemType[1 + params_.offBX]; |
| 135 | Y_ = new ElemType[1 + params_.offCY]; |
| 136 | back_Y_ = new ElemType[1 + params_.offCY]; |
| 137 | PARAM_ = new ElemType[5 + params_.offc]; |
| 138 | back_PARAM_ = new ElemType[5 + params_.offc]; |
| 139 | } |
| 140 | catch(bad_alloc& ba) |
| 141 | { |
| 142 | D1_ = back_D1_ = D2_ = back_D2_ = X_ = back_X_ = Y_ = back_Y_ = NULL; |
| 143 | // areResourcesSufficient() will handle the rest and return |
| 144 | PARAM_ = back_PARAM_ = NULL; |
| 145 | ba = ba; |
| 146 | } |
| 147 | |
| 148 | base_ = ::clMath::BlasBase::getInstance(); |
| 149 | } |
| 150 | |
| 151 | template <typename ElemType> |
| 152 | RotmgPerformanceTest<ElemType>::~RotmgPerformanceTest() |
nothing calls this directly
no outgoing calls
no test coverage detected