static void fileNameFromSolution( char *name, BlasFunctionID funcID, const SolutionStep *step) { const char *s; const CLBlasKargs *kargs = (const CLBlasKargs*)&step->args; bool isTriangFn; isTriangFn = (funcID == CLBLAS_TRMM || funcID == CLBLAS_TRSM); strcpy(name, "./"); name += strlen(name); getFuncName(name, funcID, kargs->dtype); s = (kargs->order == clblasRowMajor) ? "_row_" : "_col_"; strcat(name, s); addTranspSuffix(name, kargs->transA); if (isTriangFn) { s = (kargs->uplo == clblasUpper) ? "_upper" : "_lower"; strcat(name, s); s = (kargs->side == clblasRight) ? "_right" : "_left"; strcat(name, s); } else { addTranspSuffix(name, kargs->transB); } name += strlen(name); sprintf(name, "_%lu_%lu", kargs->M, kargs->N); if (!isTriangFn) { name += strlen(name); sprintf(name, "_%lu", kargs->K); } strcat(name, ".kdump"); }
/** * @brief 右侧布局 */ void MainWindow::setupMainWindow() { btnGroup = new QButtonGroup; QGridLayout *grid = new QGridLayout; QSignalMapper *mapper = new QSignalMapper(this); QPixmap bmp; QString name; for (int i = 0; i < FunCount; i++) { bmp = getFuncIcon(i); funcBtn[i] = createPushButton(QSize(97, 132), bmp, QString(), SLOT(updateButtonTip()), SLOT(updateButtonTip())); name = getFuncName(i); funcLbl[i] = new Label; funcLbl[i]->setCustomText(name, Qt::AlignCenter); funcBtn[i]->setObjectName(name); btnGroup->addButton(funcBtn[i]); QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(funcBtn[i]); vbox->addWidget(funcLbl[i]); connect(funcBtn[i], SIGNAL(released()), mapper, SLOT(map())); mapper->setMapping(funcBtn[i], i); grid->addLayout(vbox, i / 5, i % 5); } connect(mapper, SIGNAL(mapped(int)), this, SLOT(onFuncSelect(int))); grid->setVerticalSpacing(15); grid->setHorizontalSpacing(50); mainBtnStyleRender(); logo = new QLabel; logo->setPixmap(QPixmap("../icons/mainwindow/logo.png")); title = new QLabel; title->setText("电 源 远 程 监 控 系 统"); title->setAlignment(Qt::AlignCenter); #ifdef ARM_COMPILE title->setStyleSheet("color:rgb(200,19,55)"); #else title->setStyleSheet("font-size: 30px;color:rgb(200,19,55)"); #endif QHBoxLayout *logoLayout = new QHBoxLayout; logoLayout->addSpacing(20); logoLayout->addWidget(logo); logoLayout->addSpacing(80); logoLayout->addWidget(title); logoLayout->addStretch(); QHBoxLayout *funcLayout = new QHBoxLayout; funcLayout->addStretch(); funcLayout->addLayout(grid); funcLayout->addStretch(); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(logoLayout); mainLayout->addSpacing(80); mainLayout->addLayout(funcLayout); mainLayout->addStretch(); mainLayout->setContentsMargins(10, 10, 10, 10); setLayout(mainLayout); }