refactor AdvancedSettingsDialog into own file and class
This commit is contained in:
parent
82182425e6
commit
31315f433b
10 changed files with 1278 additions and 132 deletions
118
AdvancedSettingsDialog.cpp
Normal file
118
AdvancedSettingsDialog.cpp
Normal file
|
|
@ -0,0 +1,118 @@
|
||||||
|
#include "AdvancedSettingsDialog.h"
|
||||||
|
#include "ui_AdvancedSettingsDialog.h"
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QJsonDocument>
|
||||||
|
#include <QJsonParseError>
|
||||||
|
|
||||||
|
AdvancedSettingsDialog::AdvancedSettingsDialog(QWidget *parent)
|
||||||
|
: QDialog(parent),
|
||||||
|
ui(new Ui::AdvancedSettingsDialog)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
AdvancedSettingsDialog::~AdvancedSettingsDialog()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString AdvancedSettingsDialog::getJsonTemplate() const
|
||||||
|
{
|
||||||
|
return ui->jsonTemplateEdit->toPlainText();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString AdvancedSettingsDialog::getAceStepPath() const
|
||||||
|
{
|
||||||
|
return ui->aceStepPathEdit->text();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString AdvancedSettingsDialog::getQwen3ModelPath() const
|
||||||
|
{
|
||||||
|
return ui->qwen3ModelEdit->text();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString AdvancedSettingsDialog::getTextEncoderModelPath() const
|
||||||
|
{
|
||||||
|
return ui->textEncoderEdit->text();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString AdvancedSettingsDialog::getDiTModelPath() const
|
||||||
|
{
|
||||||
|
return ui->ditModelEdit->text();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString AdvancedSettingsDialog::getVAEModelPath() const
|
||||||
|
{
|
||||||
|
return ui->vaeModelEdit->text();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::setJsonTemplate(const QString &templateStr)
|
||||||
|
{
|
||||||
|
ui->jsonTemplateEdit->setPlainText(templateStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::setAceStepPath(const QString &path)
|
||||||
|
{
|
||||||
|
ui->aceStepPathEdit->setText(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::setQwen3ModelPath(const QString &path)
|
||||||
|
{
|
||||||
|
ui->qwen3ModelEdit->setText(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::setTextEncoderModelPath(const QString &path)
|
||||||
|
{
|
||||||
|
ui->textEncoderEdit->setText(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::setDiTModelPath(const QString &path)
|
||||||
|
{
|
||||||
|
ui->ditModelEdit->setText(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::setVAEModelPath(const QString &path)
|
||||||
|
{
|
||||||
|
ui->vaeModelEdit->setText(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::on_aceStepBrowseButton_clicked()
|
||||||
|
{
|
||||||
|
QString dir = QFileDialog::getExistingDirectory(this, "Select AceStep Build Directory", ui->aceStepPathEdit->text());
|
||||||
|
if (!dir.isEmpty()) {
|
||||||
|
ui->aceStepPathEdit->setText(dir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::on_qwen3BrowseButton_clicked()
|
||||||
|
{
|
||||||
|
QString file = QFileDialog::getOpenFileName(this, "Select Qwen3 Model", ui->qwen3ModelEdit->text(), "GGUF Files (*.gguf)");
|
||||||
|
if (!file.isEmpty()) {
|
||||||
|
ui->qwen3ModelEdit->setText(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::on_textEncoderBrowseButton_clicked()
|
||||||
|
{
|
||||||
|
QString file = QFileDialog::getOpenFileName(this, "Select Text Encoder Model", ui->textEncoderEdit->text(), "GGUF Files (*.gguf)");
|
||||||
|
if (!file.isEmpty()) {
|
||||||
|
ui->textEncoderEdit->setText(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::on_ditBrowseButton_clicked()
|
||||||
|
{
|
||||||
|
QString file = QFileDialog::getOpenFileName(this, "Select DiT Model", ui->ditModelEdit->text(), "GGUF Files (*.gguf)");
|
||||||
|
if (!file.isEmpty()) {
|
||||||
|
ui->ditModelEdit->setText(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdvancedSettingsDialog::on_vaeBrowseButton_clicked()
|
||||||
|
{
|
||||||
|
QString file = QFileDialog::getOpenFileName(this, "Select VAE Model", ui->vaeModelEdit->text(), "GGUF Files (*.gguf)");
|
||||||
|
if (!file.isEmpty()) {
|
||||||
|
ui->vaeModelEdit->setText(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
46
AdvancedSettingsDialog.h
Normal file
46
AdvancedSettingsDialog.h
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
#ifndef ADVANCEDSETTINGSDIALOG_H
|
||||||
|
#define ADVANCEDSETTINGSDIALOG_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class AdvancedSettingsDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
class AdvancedSettingsDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit AdvancedSettingsDialog(QWidget *parent = nullptr);
|
||||||
|
~AdvancedSettingsDialog();
|
||||||
|
|
||||||
|
// Getters for settings
|
||||||
|
QString getJsonTemplate() const;
|
||||||
|
QString getAceStepPath() const;
|
||||||
|
QString getQwen3ModelPath() const;
|
||||||
|
QString getTextEncoderModelPath() const;
|
||||||
|
QString getDiTModelPath() const;
|
||||||
|
QString getVAEModelPath() const;
|
||||||
|
|
||||||
|
// Setters for settings
|
||||||
|
void setJsonTemplate(const QString &templateStr);
|
||||||
|
void setAceStepPath(const QString &path);
|
||||||
|
void setQwen3ModelPath(const QString &path);
|
||||||
|
void setTextEncoderModelPath(const QString &path);
|
||||||
|
void setDiTModelPath(const QString &path);
|
||||||
|
void setVAEModelPath(const QString &path);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_aceStepBrowseButton_clicked();
|
||||||
|
void on_qwen3BrowseButton_clicked();
|
||||||
|
void on_textEncoderBrowseButton_clicked();
|
||||||
|
void on_ditBrowseButton_clicked();
|
||||||
|
void on_vaeBrowseButton_clicked();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::AdvancedSettingsDialog *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ADVANCEDSETTINGSDIALOG_H
|
||||||
203
AdvancedSettingsDialog.ui
Normal file
203
AdvancedSettingsDialog.ui
Normal file
|
|
@ -0,0 +1,203 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>AdvancedSettingsDialog</class>
|
||||||
|
<widget class="QDialog" name="AdvancedSettingsDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>600</width>
|
||||||
|
<height>450</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Advanced Settings</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="jsonTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>JSON Template</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="jsonLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="jsonLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>JSON Template for AceStep generation:</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="jsonTemplateEdit"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="pathsTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Model Paths</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QFormLayout" name="pathsLayout">
|
||||||
|
<property name="fieldGrowthPolicy">
|
||||||
|
<enum>QFormLayout::FieldGrowthPolicy::AllNonFixedFieldsGrow</enum>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="aceStepLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>AceStep Path:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="aceStepLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="aceStepPathEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="aceStepBrowseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="qwen3Label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Qwen3 Model:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="qwen3Layout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="qwen3ModelEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="qwen3BrowseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="textEncoderLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Text Encoder Model:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="textEncoderLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="textEncoderEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="textEncoderBrowseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="ditLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>DiT Model:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="ditLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="ditModelEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="ditBrowseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="vaeLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>VAE Model:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="vaeLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="vaeModelEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="vaeBrowseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Save</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>AdvancedSettingsDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>AdvancedSettingsDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
||||||
|
|
@ -17,6 +17,8 @@ add_executable(${PROJECT_NAME}
|
||||||
main.cpp
|
main.cpp
|
||||||
MainWindow.ui
|
MainWindow.ui
|
||||||
MainWindow.cpp
|
MainWindow.cpp
|
||||||
|
AdvancedSettingsDialog.ui
|
||||||
|
AdvancedSettingsDialog.cpp
|
||||||
SongDialog.ui
|
SongDialog.ui
|
||||||
SongDialog.cpp
|
SongDialog.cpp
|
||||||
SongListModel.cpp
|
SongListModel.cpp
|
||||||
|
|
|
||||||
157
MainWindow.cpp
157
MainWindow.cpp
|
|
@ -1,18 +1,15 @@
|
||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
#include "ui_MainWindow.h"
|
#include "ui_MainWindow.h"
|
||||||
#include "SongDialog.h"
|
#include "SongDialog.h"
|
||||||
|
#include "AdvancedSettingsDialog.h"
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QInputDialog>
|
#include <QInputDialog>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QFormLayout>
|
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QTabWidget>
|
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QScrollBar>
|
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
MainWindow::MainWindow(QWidget *parent)
|
||||||
: QMainWindow(parent),
|
: QMainWindow(parent),
|
||||||
|
|
@ -215,14 +212,6 @@ void MainWindow::on_stopButton_clicked()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_positionSlider_sliderMoved(int position)
|
|
||||||
{
|
|
||||||
if (isPlaying && audioPlayer->isPlaying()) {
|
|
||||||
// Seek to the new position when slider is moved
|
|
||||||
audioPlayer->setPosition(position);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::on_shuffleButton_clicked()
|
void MainWindow::on_shuffleButton_clicked()
|
||||||
{
|
{
|
||||||
shuffleMode = ui->shuffleButton->isChecked();
|
shuffleMode = ui->shuffleButton->isChecked();
|
||||||
|
|
@ -291,138 +280,34 @@ void MainWindow::on_removeSongButton_clicked()
|
||||||
|
|
||||||
void MainWindow::on_advancedSettingsButton_clicked()
|
void MainWindow::on_advancedSettingsButton_clicked()
|
||||||
{
|
{
|
||||||
// Create a dialog for advanced settings
|
AdvancedSettingsDialog dialog(this);
|
||||||
QDialog dialog(this);
|
|
||||||
dialog.setWindowTitle("Advanced Settings");
|
|
||||||
dialog.resize(600, 400);
|
|
||||||
|
|
||||||
QVBoxLayout *layout = new QVBoxLayout(&dialog);
|
// Set current values
|
||||||
|
dialog.setJsonTemplate(jsonTemplate);
|
||||||
|
dialog.setAceStepPath(aceStepPath);
|
||||||
|
dialog.setQwen3ModelPath(qwen3ModelPath);
|
||||||
|
dialog.setTextEncoderModelPath(textEncoderModelPath);
|
||||||
|
dialog.setDiTModelPath(ditModelPath);
|
||||||
|
dialog.setVAEModelPath(vaeModelPath);
|
||||||
|
|
||||||
// Tab widget for organized settings
|
if (dialog.exec() == QDialog::Accepted) {
|
||||||
QTabWidget *tabWidget = new QTabWidget(&dialog);
|
|
||||||
layout->addWidget(tabWidget);
|
|
||||||
|
|
||||||
// JSON Template tab
|
|
||||||
QWidget *jsonTab = new QWidget();
|
|
||||||
QVBoxLayout *jsonLayout = new QVBoxLayout(jsonTab);
|
|
||||||
|
|
||||||
QLabel *jsonLabel = new QLabel("JSON Template for AceStep generation:");
|
|
||||||
jsonLabel->setWordWrap(true);
|
|
||||||
jsonLayout->addWidget(jsonLabel);
|
|
||||||
|
|
||||||
QTextEdit *jsonTemplateEdit = new QTextEdit();
|
|
||||||
jsonTemplateEdit->setPlainText(jsonTemplate);
|
|
||||||
jsonTemplateEdit->setMinimumHeight(200);
|
|
||||||
jsonLayout->addWidget(jsonTemplateEdit);
|
|
||||||
|
|
||||||
tabWidget->addTab(jsonTab, "JSON Template");
|
|
||||||
|
|
||||||
// Path Settings tab
|
|
||||||
QWidget *pathsTab = new QWidget();
|
|
||||||
QFormLayout *pathsLayout = new QFormLayout(pathsTab);
|
|
||||||
pathsLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
|
|
||||||
|
|
||||||
QLineEdit *aceStepPathEdit = new QLineEdit(aceStepPath);
|
|
||||||
QPushButton *aceStepBrowseBtn = new QPushButton("Browse...");
|
|
||||||
connect(aceStepBrowseBtn, &QPushButton::clicked, [this, aceStepPathEdit]() {
|
|
||||||
QString dir = QFileDialog::getExistingDirectory(this, "Select AceStep Build Directory", aceStepPathEdit->text());
|
|
||||||
if (!dir.isEmpty()) {
|
|
||||||
aceStepPathEdit->setText(dir);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
QHBoxLayout *aceStepLayout = new QHBoxLayout();
|
|
||||||
aceStepLayout->addWidget(aceStepPathEdit);
|
|
||||||
aceStepLayout->addWidget(aceStepBrowseBtn);
|
|
||||||
pathsLayout->addRow("AceStep Path:", aceStepLayout);
|
|
||||||
|
|
||||||
QLineEdit *qwen3ModelEdit = new QLineEdit(qwen3ModelPath);
|
|
||||||
QPushButton *qwen3BrowseBtn = new QPushButton("Browse...");
|
|
||||||
connect(qwen3BrowseBtn, &QPushButton::clicked, [this, qwen3ModelEdit]() {
|
|
||||||
QString file = QFileDialog::getOpenFileName(this, "Select Qwen3 Model", qwen3ModelEdit->text(), "GGUF Files (*.gguf)");
|
|
||||||
if (!file.isEmpty()) {
|
|
||||||
qwen3ModelEdit->setText(file);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
QHBoxLayout *qwen3Layout = new QHBoxLayout();
|
|
||||||
qwen3Layout->addWidget(qwen3ModelEdit);
|
|
||||||
qwen3Layout->addWidget(qwen3BrowseBtn);
|
|
||||||
pathsLayout->addRow("Qwen3 Model:", qwen3Layout);
|
|
||||||
|
|
||||||
QLineEdit *textEncoderEdit = new QLineEdit(textEncoderModelPath);
|
|
||||||
QPushButton *textEncoderBrowseBtn = new QPushButton("Browse...");
|
|
||||||
connect(textEncoderBrowseBtn, &QPushButton::clicked, [this, textEncoderEdit]() {
|
|
||||||
QString file = QFileDialog::getOpenFileName(this, "Select Text Encoder Model", textEncoderEdit->text(), "GGUF Files (*.gguf)");
|
|
||||||
if (!file.isEmpty()) {
|
|
||||||
textEncoderEdit->setText(file);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
QHBoxLayout *textEncoderLayout = new QHBoxLayout();
|
|
||||||
textEncoderLayout->addWidget(textEncoderEdit);
|
|
||||||
textEncoderLayout->addWidget(textEncoderBrowseBtn);
|
|
||||||
pathsLayout->addRow("Text Encoder Model:", textEncoderLayout);
|
|
||||||
|
|
||||||
QLineEdit *ditModelEdit = new QLineEdit(ditModelPath);
|
|
||||||
QPushButton *ditModelBrowseBtn = new QPushButton("Browse...");
|
|
||||||
connect(ditModelBrowseBtn, &QPushButton::clicked, [this, ditModelEdit]() {
|
|
||||||
QString file = QFileDialog::getOpenFileName(this, "Select DiT Model", ditModelEdit->text(), "GGUF Files (*.gguf)");
|
|
||||||
if (!file.isEmpty()) {
|
|
||||||
ditModelEdit->setText(file);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
QHBoxLayout *ditModelLayout = new QHBoxLayout();
|
|
||||||
ditModelLayout->addWidget(ditModelEdit);
|
|
||||||
ditModelLayout->addWidget(ditModelBrowseBtn);
|
|
||||||
pathsLayout->addRow("DiT Model:", ditModelLayout);
|
|
||||||
|
|
||||||
QLineEdit *vaeModelEdit = new QLineEdit(vaeModelPath);
|
|
||||||
QPushButton *vaeModelBrowseBtn = new QPushButton("Browse...");
|
|
||||||
connect(vaeModelBrowseBtn, &QPushButton::clicked, [this, vaeModelEdit]() {
|
|
||||||
QString file = QFileDialog::getOpenFileName(this, "Select VAE Model", vaeModelEdit->text(), "GGUF Files (*.gguf)");
|
|
||||||
if (!file.isEmpty()) {
|
|
||||||
vaeModelEdit->setText(file);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
QHBoxLayout *vaeModelLayout = new QHBoxLayout();
|
|
||||||
vaeModelLayout->addWidget(vaeModelEdit);
|
|
||||||
vaeModelLayout->addWidget(vaeModelBrowseBtn);
|
|
||||||
pathsLayout->addRow("VAE Model:", vaeModelLayout);
|
|
||||||
|
|
||||||
tabWidget->addTab(pathsTab, "Model Paths");
|
|
||||||
|
|
||||||
// Buttons
|
|
||||||
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Save | QDialogButtonBox::Cancel);
|
|
||||||
layout->addWidget(buttonBox);
|
|
||||||
|
|
||||||
connect(buttonBox, &QDialogButtonBox::accepted, [&dialog, this, jsonTemplateEdit, aceStepPathEdit, qwen3ModelEdit, textEncoderEdit, ditModelEdit, vaeModelEdit]() {
|
|
||||||
// Validate JSON template
|
// Validate JSON template
|
||||||
QJsonParseError parseError;
|
QJsonParseError parseError;
|
||||||
QJsonDocument doc = QJsonDocument::fromJson(jsonTemplateEdit->toPlainText().toUtf8(), &parseError);
|
QJsonDocument doc = QJsonDocument::fromJson(dialog.getJsonTemplate().toUtf8(), &parseError);
|
||||||
if (!doc.isObject()) {
|
if (!doc.isObject()) {
|
||||||
QMessageBox::warning(this, "Invalid JSON", "Please enter valid JSON: " + QString(parseError.errorString()));
|
QMessageBox::warning(this, "Invalid JSON", "Please enter valid JSON: " + QString(parseError.errorString()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update settings
|
// Update settings
|
||||||
jsonTemplate = jsonTemplateEdit->toPlainText();
|
jsonTemplate = dialog.getJsonTemplate();
|
||||||
aceStepPath = aceStepPathEdit->text();
|
aceStepPath = dialog.getAceStepPath();
|
||||||
qwen3ModelPath = qwen3ModelEdit->text();
|
qwen3ModelPath = dialog.getQwen3ModelPath();
|
||||||
textEncoderModelPath = textEncoderEdit->text();
|
textEncoderModelPath = dialog.getTextEncoderModelPath();
|
||||||
ditModelPath = ditModelEdit->text();
|
ditModelPath = dialog.getDiTModelPath();
|
||||||
vaeModelPath = vaeModelEdit->text();
|
vaeModelPath = dialog.getVAEModelPath();
|
||||||
|
|
||||||
saveSettings();
|
saveSettings();
|
||||||
dialog.accept();
|
|
||||||
});
|
|
||||||
|
|
||||||
connect(buttonBox, &QDialogButtonBox::rejected, &dialog, &QDialog::reject);
|
|
||||||
|
|
||||||
// Show the dialog
|
|
||||||
if (dialog.exec() == QDialog::Accepted) {
|
|
||||||
QMessageBox::information(this, "Settings Saved", "Advanced settings have been saved successfully.");
|
QMessageBox::information(this, "Settings Saved", "Advanced settings have been saved successfully.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -526,3 +411,11 @@ void MainWindow::updatePlaybackStatus(bool playing)
|
||||||
isPlaying = playing;
|
isPlaying = playing;
|
||||||
updateControls();
|
updateControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_positionSlider_sliderMoved(int position)
|
||||||
|
{
|
||||||
|
if (isPlaying && audioPlayer->isPlaying()) {
|
||||||
|
// Seek to the new position when slider is moved
|
||||||
|
audioPlayer->setPosition(position);
|
||||||
|
}
|
||||||
|
}
|
||||||
239
MainWindow.ui
Normal file
239
MainWindow.ui
Normal file
|
|
@ -0,0 +1,239 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>MainWindow</class>
|
||||||
|
<widget class="QMainWindow" name="MainWindow">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>800</width>
|
||||||
|
<height>600</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Music Generator GUI</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralwidget">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="titleLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Music Generator</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QListView" name="songListView">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>200</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="buttonLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="addSongButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add Song</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="editSongButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Edit Song</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="removeSongButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove Song</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="timeControlsLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="elapsedTimeLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>0:00</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="positionSlider">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="durationLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>0:00</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="controlsFrame">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="controlsLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="playButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Play</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="media-playback-start">
|
||||||
|
<normaloff>.</normaloff>.
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pauseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Pause</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="media-playback-pause">
|
||||||
|
<normaloff>.</normaloff>.
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="skipButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Skip</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="media-skip-forward">
|
||||||
|
<normaloff>.</normaloff>.
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="stopButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Stop</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="media-playback-stop">
|
||||||
|
<normaloff>.</normaloff>.
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="shuffleButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Shuffle</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="media-playlist-shuffle">
|
||||||
|
<normaloff>.</normaloff>.
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="statusLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QProgressBar" name="progressBar">
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="statusLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Ready</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenuBar" name="menubar">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>800</width>
|
||||||
|
<height>22</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<widget class="QMenu" name="menuSettings">
|
||||||
|
<property name="title">
|
||||||
|
<string>Settings</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="actionAdvancedSettings"/>
|
||||||
|
</widget>
|
||||||
|
<addaction name="menuSettings"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QStatusBar" name="statusbar"/>
|
||||||
|
<action name="actionAdvancedSettings">
|
||||||
|
<property name="text">
|
||||||
|
<string>Advanced Settings...</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
50
SongDialog.cpp
Normal file
50
SongDialog.cpp
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
#include "SongDialog.h"
|
||||||
|
#include "ui_SongDialog.h"
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
SongDialog::SongDialog(QWidget *parent, const QString &caption, const QString &lyrics)
|
||||||
|
: QDialog(parent),
|
||||||
|
ui(new Ui::SongDialog)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
// Set initial values if provided
|
||||||
|
if (!caption.isEmpty()) {
|
||||||
|
ui->captionEdit->setPlainText(caption);
|
||||||
|
}
|
||||||
|
if (!lyrics.isEmpty()) {
|
||||||
|
ui->lyricsEdit->setPlainText(lyrics);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SongDialog::~SongDialog()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString SongDialog::getCaption() const
|
||||||
|
{
|
||||||
|
return ui->captionEdit->toPlainText();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString SongDialog::getLyrics() const
|
||||||
|
{
|
||||||
|
return ui->lyricsEdit->toPlainText();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SongDialog::on_okButton_clicked()
|
||||||
|
{
|
||||||
|
// Validate that caption is not empty
|
||||||
|
QString caption = getCaption();
|
||||||
|
if (caption.trimmed().isEmpty()) {
|
||||||
|
QMessageBox::warning(this, "Invalid Input", "Caption cannot be empty.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SongDialog::on_cancelButton_clicked()
|
||||||
|
{
|
||||||
|
reject();
|
||||||
|
}
|
||||||
30
SongDialog.h
Normal file
30
SongDialog.h
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef SONGDIALOG_H
|
||||||
|
#define SONGDIALOG_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class SongDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
class SongDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit SongDialog(QWidget *parent = nullptr, const QString &caption = "", const QString &lyrics = "");
|
||||||
|
~SongDialog();
|
||||||
|
|
||||||
|
QString getCaption() const;
|
||||||
|
QString getLyrics() const;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_okButton_clicked();
|
||||||
|
void on_cancelButton_clicked();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::SongDialog *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SONGDIALOG_H
|
||||||
92
SongDialog.ui
Normal file
92
SongDialog.ui
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>SongDialog</class>
|
||||||
|
<widget class="QDialog" name="SongDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>500</width>
|
||||||
|
<height>400</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Song Details</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="captionLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Caption:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignTop</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="captionEdit">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>Enter song caption (e.g., "Upbeat pop rock anthem with driving electric guitars")</string>
|
||||||
|
</property>
|
||||||
|
<property name="maximumHeight">
|
||||||
|
<number>80</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="lyricsLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Lyrics (optional):</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignTop</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="lyricsEdit">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>Enter lyrics or leave empty for instrumental music</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimumHeight">
|
||||||
|
<number>150</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="buttonLayout">
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="okButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>OK</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="cancelButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cancel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
473
moc_predefs.h
Normal file
473
moc_predefs.h
Normal file
|
|
@ -0,0 +1,473 @@
|
||||||
|
#define __DBL_MIN_EXP__ (-1021)
|
||||||
|
#define __LDBL_MANT_DIG__ 64
|
||||||
|
#define __cpp_nontype_template_parameter_auto 201606L
|
||||||
|
#define __UINT_LEAST16_MAX__ 0xffff
|
||||||
|
#define __FLT16_HAS_QUIET_NAN__ 1
|
||||||
|
#define __ATOMIC_ACQUIRE 2
|
||||||
|
#define __FLT128_MAX_10_EXP__ 4932
|
||||||
|
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
|
||||||
|
#define __GCC_IEC_559_COMPLEX 2
|
||||||
|
#define __cpp_aggregate_nsdmi 201304L
|
||||||
|
#define __UINT_LEAST8_TYPE__ unsigned char
|
||||||
|
#define __SIZEOF_FLOAT80__ 16
|
||||||
|
#define __BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16
|
||||||
|
#define __INTMAX_C(c) c ## L
|
||||||
|
#define __CHAR_BIT__ 8
|
||||||
|
#define __UINT8_MAX__ 0xff
|
||||||
|
#define __SCHAR_WIDTH__ 8
|
||||||
|
#define __WINT_MAX__ 0xffffffffU
|
||||||
|
#define __FLT32_MIN_EXP__ (-125)
|
||||||
|
#define __cpp_static_assert 201411L
|
||||||
|
#define __BFLT16_MIN_10_EXP__ (-37)
|
||||||
|
#define __cpp_inheriting_constructors 201511L
|
||||||
|
#define __ORDER_LITTLE_ENDIAN__ 1234
|
||||||
|
#define __WCHAR_MAX__ 0x7fffffff
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
||||||
|
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
|
||||||
|
#define __GCC_IEC_559 2
|
||||||
|
#define __FLT32X_DECIMAL_DIG__ 17
|
||||||
|
#define __FLT_EVAL_METHOD__ 0
|
||||||
|
#define __cpp_binary_literals 201304L
|
||||||
|
#define __FLT64_DECIMAL_DIG__ 17
|
||||||
|
#define __cpp_noexcept_function_type 201510L
|
||||||
|
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||||
|
#define __cpp_variadic_templates 200704L
|
||||||
|
#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __SIG_ATOMIC_TYPE__ int
|
||||||
|
#define __DBL_MIN_10_EXP__ (-307)
|
||||||
|
#define __FINITE_MATH_ONLY__ 0
|
||||||
|
#define __cpp_variable_templates 201304L
|
||||||
|
#define __FLT32X_MAX_EXP__ 1024
|
||||||
|
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
||||||
|
#define __FLT32_HAS_DENORM__ 1
|
||||||
|
#define __UINT_FAST8_MAX__ 0xff
|
||||||
|
#define __cpp_rvalue_reference 200610L
|
||||||
|
#define __cpp_nested_namespace_definitions 201411L
|
||||||
|
#define __DEC64_MAX_EXP__ 385
|
||||||
|
#define __INT8_C(c) c
|
||||||
|
#define __LDBL_HAS_INFINITY__ 1
|
||||||
|
#define __INT_LEAST8_WIDTH__ 8
|
||||||
|
#define __cpp_variadic_using 201611L
|
||||||
|
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __INT_LEAST8_MAX__ 0x7f
|
||||||
|
#define __cpp_attributes 200809L
|
||||||
|
#define __cpp_capture_star_this 201603L
|
||||||
|
#define __SHRT_MAX__ 0x7fff
|
||||||
|
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
|
||||||
|
#define __FLT64X_MAX_10_EXP__ 4932
|
||||||
|
#define __cpp_if_constexpr 201606L
|
||||||
|
#define __BFLT16_MAX_10_EXP__ 38
|
||||||
|
#define __BFLT16_MAX_EXP__ 128
|
||||||
|
#define __LDBL_IS_IEC_60559__ 1
|
||||||
|
#define __FLT64X_HAS_QUIET_NAN__ 1
|
||||||
|
#define __UINT_LEAST8_MAX__ 0xff
|
||||||
|
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
|
||||||
|
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
|
||||||
|
#define __UINTMAX_TYPE__ long unsigned int
|
||||||
|
#define __cpp_nsdmi 200809L
|
||||||
|
#define __BFLT16_DECIMAL_DIG__ 4
|
||||||
|
#define __linux 1
|
||||||
|
#define __DEC32_EPSILON__ 1E-6DF
|
||||||
|
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
|
||||||
|
#define __OPTIMIZE__ 1
|
||||||
|
#define __UINT32_MAX__ 0xffffffffU
|
||||||
|
#define __GXX_EXPERIMENTAL_CXX0X__ 1
|
||||||
|
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
|
||||||
|
#define __FLT128_MIN_EXP__ (-16381)
|
||||||
|
#define __DEC64X_MAX_EXP__ 6145
|
||||||
|
#define __WINT_MIN__ 0U
|
||||||
|
#define __FLT128_MIN_10_EXP__ (-4931)
|
||||||
|
#define __FLT32X_IS_IEC_60559__ 1
|
||||||
|
#define __INT_LEAST16_WIDTH__ 16
|
||||||
|
#define __SCHAR_MAX__ 0x7f
|
||||||
|
#define __FLT128_MANT_DIG__ 113
|
||||||
|
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
|
||||||
|
#define __INT64_C(c) c ## L
|
||||||
|
#define __SSP_STRONG__ 3
|
||||||
|
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
|
||||||
|
#define __ATOMIC_SEQ_CST 5
|
||||||
|
#define __unix 1
|
||||||
|
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __FLT32X_MANT_DIG__ 53
|
||||||
|
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
|
||||||
|
#define __cpp_aligned_new 201606L
|
||||||
|
#define __FLT32_MAX_10_EXP__ 38
|
||||||
|
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
|
||||||
|
#define __STDC_HOSTED__ 1
|
||||||
|
#define __DEC64_MIN_EXP__ (-382)
|
||||||
|
#define __cpp_decltype_auto 201304L
|
||||||
|
#define __DBL_DIG__ 15
|
||||||
|
#define __STDC_EMBED_EMPTY__ 2
|
||||||
|
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
|
||||||
|
#define __GXX_WEAK__ 1
|
||||||
|
#define __SHRT_WIDTH__ 16
|
||||||
|
#define __FLT32_IS_IEC_60559__ 1
|
||||||
|
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
|
||||||
|
#define __DBL_IS_IEC_60559__ 1
|
||||||
|
#define __DEC32_MAX__ 9.999999E96DF
|
||||||
|
#define __cpp_threadsafe_static_init 200806L
|
||||||
|
#define __cpp_enumerator_attributes 201411L
|
||||||
|
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
|
||||||
|
#define __FLT32X_HAS_INFINITY__ 1
|
||||||
|
#define __unix__ 1
|
||||||
|
#define __INT_WIDTH__ 32
|
||||||
|
#define __STDC_IEC_559__ 1
|
||||||
|
#define __STDC_ISO_10646__ 201706L
|
||||||
|
#define __DECIMAL_DIG__ 21
|
||||||
|
#define __STDC_IEC_559_COMPLEX__ 1
|
||||||
|
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
|
||||||
|
#define __gnu_linux__ 1
|
||||||
|
#define __INT16_MAX__ 0x7fff
|
||||||
|
#define __FLT64_MIN_EXP__ (-1021)
|
||||||
|
#define __DEC64X_EPSILON__ 1E-33D64x
|
||||||
|
#define __FLT64X_MIN_10_EXP__ (-4931)
|
||||||
|
#define __LDBL_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT16_MIN_EXP__ (-13)
|
||||||
|
#define __FLT64_MANT_DIG__ 53
|
||||||
|
#define __FLT64X_MANT_DIG__ 64
|
||||||
|
#define __BFLT16_DIG__ 2
|
||||||
|
#define __GNUC__ 15
|
||||||
|
#define __GXX_RTTI 1
|
||||||
|
#define __pie__ 2
|
||||||
|
#define __MMX__ 1
|
||||||
|
#define __FLT_HAS_DENORM__ 1
|
||||||
|
#define __SIZEOF_LONG_DOUBLE__ 16
|
||||||
|
#define __BIGGEST_ALIGNMENT__ 16
|
||||||
|
#define __STDC_UTF_16__ 1
|
||||||
|
#define __FLT64_MAX_10_EXP__ 308
|
||||||
|
#define __BFLT16_IS_IEC_60559__ 0
|
||||||
|
#define __FLT16_MAX_10_EXP__ 4
|
||||||
|
#define __cpp_delegating_constructors 200604L
|
||||||
|
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
|
||||||
|
#define __cpp_raw_strings 200710L
|
||||||
|
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __DBL_HAS_INFINITY__ 1
|
||||||
|
#define __INT64_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __SIZEOF_FLOAT__ 4
|
||||||
|
#define __HAVE_SPECULATION_SAFE_VALUE 1
|
||||||
|
#define __cpp_fold_expressions 201603L
|
||||||
|
#define __DEC32_MIN_EXP__ (-94)
|
||||||
|
#define __INTPTR_WIDTH__ 64
|
||||||
|
#define __UINT_LEAST32_MAX__ 0xffffffffU
|
||||||
|
#define __FLT32X_HAS_DENORM__ 1
|
||||||
|
#define __INT_FAST16_TYPE__ long int
|
||||||
|
#define __MMX_WITH_SSE__ 1
|
||||||
|
#define __LDBL_HAS_DENORM__ 1
|
||||||
|
#define __SEG_GS 1
|
||||||
|
#define __BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16
|
||||||
|
#define __cplusplus 201703L
|
||||||
|
#define __cpp_ref_qualifiers 200710L
|
||||||
|
#define __DEC32_MIN__ 1E-95DF
|
||||||
|
#define __DEPRECATED 1
|
||||||
|
#define __cpp_rvalue_references 200610L
|
||||||
|
#define __DBL_MAX_EXP__ 1024
|
||||||
|
#define __WCHAR_WIDTH__ 32
|
||||||
|
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
|
||||||
|
#define __DEC128_EPSILON__ 1E-33DL
|
||||||
|
#define __FLT16_DECIMAL_DIG__ 5
|
||||||
|
#define __SSE2_MATH__ 1
|
||||||
|
#define __ATOMIC_HLE_RELEASE 131072
|
||||||
|
#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __amd64 1
|
||||||
|
#define __DEC64X_MAX__ 9.999999999999999999999999999999999E6144D64x
|
||||||
|
#define __ATOMIC_HLE_ACQUIRE 65536
|
||||||
|
#define __GNUG__ 15
|
||||||
|
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
|
||||||
|
#define __SIZEOF_SIZE_T__ 8
|
||||||
|
#define __BFLT16_HAS_INFINITY__ 1
|
||||||
|
#define __FLT64X_MIN_EXP__ (-16381)
|
||||||
|
#define __SIZEOF_WINT_T__ 4
|
||||||
|
#define __FLT32X_DIG__ 15
|
||||||
|
#define __LONG_LONG_WIDTH__ 64
|
||||||
|
#define __cpp_initializer_lists 200806L
|
||||||
|
#define __FLT32_MAX_EXP__ 128
|
||||||
|
#define __cpp_hex_float 201603L
|
||||||
|
#define __GXX_ABI_VERSION 1020
|
||||||
|
#define __FLT_MIN_EXP__ (-125)
|
||||||
|
#define __GCC_HAVE_DWARF2_CFI_ASM 1
|
||||||
|
#define __x86_64 1
|
||||||
|
#define __cpp_lambdas 200907L
|
||||||
|
#define __INT_FAST64_TYPE__ long int
|
||||||
|
#define __BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16
|
||||||
|
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
|
||||||
|
#define __cpp_template_auto 201606L
|
||||||
|
#define __FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16
|
||||||
|
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
|
||||||
|
#define __FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x
|
||||||
|
#define __SIZEOF_POINTER__ 8
|
||||||
|
#define __SIZE_TYPE__ long unsigned int
|
||||||
|
#define __LP64__ 1
|
||||||
|
#define __DBL_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
|
||||||
|
#define __LDBL_MAX_EXP__ 16384
|
||||||
|
#define __DECIMAL_BID_FORMAT__ 1
|
||||||
|
#define __FLT64_MIN_10_EXP__ (-307)
|
||||||
|
#define __FLT16_MIN_10_EXP__ (-4)
|
||||||
|
#define __FLT64X_DECIMAL_DIG__ 21
|
||||||
|
#define __DEC128_MIN__ 1E-6143DL
|
||||||
|
#define __REGISTER_PREFIX__
|
||||||
|
#define __UINT16_MAX__ 0xffff
|
||||||
|
#define __FLT128_HAS_INFINITY__ 1
|
||||||
|
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
|
||||||
|
#define __UINT8_TYPE__ unsigned char
|
||||||
|
#define __FLT_DIG__ 6
|
||||||
|
#define __DEC_EVAL_METHOD__ 2
|
||||||
|
#define __FLT_MANT_DIG__ 24
|
||||||
|
#define __LDBL_DECIMAL_DIG__ 21
|
||||||
|
#define __VERSION__ "15.2.1 20260103"
|
||||||
|
#define __UINT64_C(c) c ## UL
|
||||||
|
#define __cpp_unicode_characters 201411L
|
||||||
|
#define __DEC64X_MIN__ 1E-6143D64x
|
||||||
|
#define _STDC_PREDEF_H 1
|
||||||
|
#define __INT_LEAST32_MAX__ 0x7fffffff
|
||||||
|
#define __GCC_ATOMIC_INT_LOCK_FREE 2
|
||||||
|
#define __FLT128_MAX_EXP__ 16384
|
||||||
|
#define __FLT32_MANT_DIG__ 24
|
||||||
|
#define __cpp_decltype 200707L
|
||||||
|
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||||
|
#define __FLT32X_MIN_EXP__ (-1021)
|
||||||
|
#define __STDC_IEC_60559_COMPLEX__ 201404L
|
||||||
|
#define __cpp_aggregate_bases 201603L
|
||||||
|
#define __BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16
|
||||||
|
#define __FLT128_HAS_DENORM__ 1
|
||||||
|
#define __FLT32_DECIMAL_DIG__ 9
|
||||||
|
#define __FLT128_DIG__ 33
|
||||||
|
#define __INT32_C(c) c
|
||||||
|
#define __DEC64_EPSILON__ 1E-15DD
|
||||||
|
#define __ORDER_PDP_ENDIAN__ 3412
|
||||||
|
#define __DEC128_MIN_EXP__ (-6142)
|
||||||
|
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
|
||||||
|
#define __INT_FAST32_TYPE__ long int
|
||||||
|
#define __UINT_LEAST16_TYPE__ short unsigned int
|
||||||
|
#define __DEC64X_MANT_DIG__ 34
|
||||||
|
#define __DEC128_MAX_EXP__ 6145
|
||||||
|
#define unix 1
|
||||||
|
#define __DBL_HAS_DENORM__ 1
|
||||||
|
#define __cpp_rtti 199711L
|
||||||
|
#define __UINT64_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __FLT_IS_IEC_60559__ 1
|
||||||
|
#define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE"
|
||||||
|
#define __FLT64X_DIG__ 18
|
||||||
|
#define __INT8_TYPE__ signed char
|
||||||
|
#define __cpp_digit_separators 201309L
|
||||||
|
#define __ELF__ 1
|
||||||
|
#define __GCC_ASM_FLAG_OUTPUTS__ 1
|
||||||
|
#define __UINT32_TYPE__ unsigned int
|
||||||
|
#define __BFLT16_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT_RADIX__ 2
|
||||||
|
#define __INT_LEAST16_TYPE__ short int
|
||||||
|
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
|
||||||
|
#define __UINTMAX_C(c) c ## UL
|
||||||
|
#define __FLT16_DIG__ 3
|
||||||
|
#define __k8 1
|
||||||
|
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
|
||||||
|
#define __SIG_ATOMIC_MAX__ 0x7fffffff
|
||||||
|
#define __cpp_constexpr 201603L
|
||||||
|
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
|
||||||
|
#define __USER_LABEL_PREFIX__
|
||||||
|
#define __STDC_IEC_60559_BFP__ 201404L
|
||||||
|
#define __SIZEOF_PTRDIFF_T__ 8
|
||||||
|
#define __FLT64X_HAS_INFINITY__ 1
|
||||||
|
#define __SIZEOF_LONG__ 8
|
||||||
|
#define __LDBL_DIG__ 18
|
||||||
|
#define __FLT64_IS_IEC_60559__ 1
|
||||||
|
#define __x86_64__ 1
|
||||||
|
#define __FLT16_IS_IEC_60559__ 1
|
||||||
|
#define __FLT16_MAX_EXP__ 16
|
||||||
|
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
|
||||||
|
#define __STDC_EMBED_FOUND__ 1
|
||||||
|
#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __GCC_CONSTRUCTIVE_SIZE 64
|
||||||
|
#define __FLT64_DIG__ 15
|
||||||
|
#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __UINT_LEAST64_TYPE__ long unsigned int
|
||||||
|
#define __FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16
|
||||||
|
#define __FLT_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT_MAX_10_EXP__ 38
|
||||||
|
#define __FLT64X_HAS_DENORM__ 1
|
||||||
|
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
|
||||||
|
#define __FLT_HAS_INFINITY__ 1
|
||||||
|
#define __GNUC_EXECUTION_CHARSET_NAME "UTF-8"
|
||||||
|
#define __cpp_unicode_literals 200710L
|
||||||
|
#define __UINT_FAST16_TYPE__ long unsigned int
|
||||||
|
#define __DEC64_MAX__ 9.999999999999999E384DD
|
||||||
|
#define __STDC_EMBED_NOT_FOUND__ 0
|
||||||
|
#define __INT_FAST32_WIDTH__ 64
|
||||||
|
#define __CHAR16_TYPE__ short unsigned int
|
||||||
|
#define __PRAGMA_REDEFINE_EXTNAME 1
|
||||||
|
#define __DEC64X_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143D64x
|
||||||
|
#define __SIZE_WIDTH__ 64
|
||||||
|
#define __SEG_FS 1
|
||||||
|
#define __INT_LEAST16_MAX__ 0x7fff
|
||||||
|
#define __FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16
|
||||||
|
#define __DEC64_MANT_DIG__ 16
|
||||||
|
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
|
||||||
|
#define __SIG_ATOMIC_WIDTH__ 32
|
||||||
|
#define __INT_LEAST64_TYPE__ long int
|
||||||
|
#define __INT16_TYPE__ short int
|
||||||
|
#define __INT_LEAST8_TYPE__ signed char
|
||||||
|
#define __FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16
|
||||||
|
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
|
||||||
|
#define __cpp_structured_bindings 201606L
|
||||||
|
#define __SIZEOF_INT__ 4
|
||||||
|
#define __DEC32_MAX_EXP__ 97
|
||||||
|
#define __INT_FAST8_MAX__ 0x7f
|
||||||
|
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
|
||||||
|
#define __INTPTR_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __cpp_sized_deallocation 201309L
|
||||||
|
#define __cpp_guaranteed_copy_elision 201606L
|
||||||
|
#define linux 1
|
||||||
|
#define __FLT64_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT32_MIN_10_EXP__ (-37)
|
||||||
|
#define __EXCEPTIONS 1
|
||||||
|
#define __UINT16_C(c) c
|
||||||
|
#define __PTRDIFF_WIDTH__ 64
|
||||||
|
#define __cpp_range_based_for 201603L
|
||||||
|
#define __INT_FAST16_WIDTH__ 64
|
||||||
|
#define __FLT64_HAS_INFINITY__ 1
|
||||||
|
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
|
||||||
|
#define __FLT16_HAS_INFINITY__ 1
|
||||||
|
#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16
|
||||||
|
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
|
||||||
|
#define __code_model_small__ 1
|
||||||
|
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
|
||||||
|
#define __cpp_nontype_template_args 201411L
|
||||||
|
#define __DEC32_MANT_DIG__ 7
|
||||||
|
#define __k8__ 1
|
||||||
|
#define __INTPTR_TYPE__ long int
|
||||||
|
#define __UINT16_TYPE__ short unsigned int
|
||||||
|
#define __WCHAR_TYPE__ int
|
||||||
|
#define __pic__ 2
|
||||||
|
#define __UINTPTR_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __INT_FAST64_WIDTH__ 64
|
||||||
|
#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
|
||||||
|
#define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F
|
||||||
|
#define __FLT32_HAS_INFINITY__ 1
|
||||||
|
#define __FLT64X_MAX_EXP__ 16384
|
||||||
|
#define __UINT_FAST64_TYPE__ long unsigned int
|
||||||
|
#define __cpp_inline_variables 201606L
|
||||||
|
#define __BFLT16_MIN_EXP__ (-125)
|
||||||
|
#define __INT_MAX__ 0x7fffffff
|
||||||
|
#define __linux__ 1
|
||||||
|
#define __INT64_TYPE__ long int
|
||||||
|
#define __FLT_MAX_EXP__ 128
|
||||||
|
#define __ORDER_BIG_ENDIAN__ 4321
|
||||||
|
#define __DBL_MANT_DIG__ 53
|
||||||
|
#define __SIZEOF_FLOAT128__ 16
|
||||||
|
#define __BFLT16_MANT_DIG__ 8
|
||||||
|
#define __DEC64_MIN__ 1E-383DD
|
||||||
|
#define __WINT_TYPE__ unsigned int
|
||||||
|
#define __UINT_LEAST32_TYPE__ unsigned int
|
||||||
|
#define __SIZEOF_SHORT__ 2
|
||||||
|
#define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32
|
||||||
|
#define __SSE__ 1
|
||||||
|
#define __LDBL_MIN_EXP__ (-16381)
|
||||||
|
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
|
||||||
|
#define __DEC64X_MIN_EXP__ (-6142)
|
||||||
|
#define __amd64__ 1
|
||||||
|
#define __WINT_WIDTH__ 32
|
||||||
|
#define __INT_LEAST64_WIDTH__ 64
|
||||||
|
#define __FLT32X_MAX_10_EXP__ 308
|
||||||
|
#define __cpp_namespace_attributes 201411L
|
||||||
|
#define __SIZEOF_INT128__ 16
|
||||||
|
#define __FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16
|
||||||
|
#define __FLT64X_IS_IEC_60559__ 1
|
||||||
|
#define __GXX_CONSTEXPR_ASM__ 1
|
||||||
|
#define __LDBL_MAX_10_EXP__ 4932
|
||||||
|
#define __ATOMIC_RELAXED 0
|
||||||
|
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
|
||||||
|
#define __INT_LEAST32_TYPE__ int
|
||||||
|
#define _LP64 1
|
||||||
|
#define __UINT8_C(c) c
|
||||||
|
#define __FLT64_MAX_EXP__ 1024
|
||||||
|
#define __cpp_return_type_deduction 201304L
|
||||||
|
#define __SIZEOF_WCHAR_T__ 4
|
||||||
|
#define __GNUC_PATCHLEVEL__ 1
|
||||||
|
#define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128
|
||||||
|
#define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64
|
||||||
|
#define __FLT128_HAS_QUIET_NAN__ 1
|
||||||
|
#define __INTMAX_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __INT_FAST8_TYPE__ signed char
|
||||||
|
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
|
||||||
|
#define __STDCPP_THREADS__ 1
|
||||||
|
#define __BFLT16_HAS_DENORM__ 1
|
||||||
|
#define __GNUC_STDC_INLINE__ 1
|
||||||
|
#define __FLT64_HAS_DENORM__ 1
|
||||||
|
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
|
||||||
|
#define __FLT16_HAS_DENORM__ 1
|
||||||
|
#define __DBL_DECIMAL_DIG__ 17
|
||||||
|
#define __STDC_UTF_32__ 1
|
||||||
|
#define __INT_FAST8_WIDTH__ 8
|
||||||
|
#define __FXSR__ 1
|
||||||
|
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
|
||||||
|
#define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)
|
||||||
|
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||||
|
#define __GCC_DESTRUCTIVE_SIZE 64
|
||||||
|
#define __INTMAX_WIDTH__ 64
|
||||||
|
#define __cpp_runtime_arrays 198712L
|
||||||
|
#define __FLT32_DIG__ 6
|
||||||
|
#define __UINT64_TYPE__ long unsigned int
|
||||||
|
#define __UINT32_C(c) c ## U
|
||||||
|
#define __cpp_alias_templates 200704L
|
||||||
|
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
|
||||||
|
#define __FLT128_IS_IEC_60559__ 1
|
||||||
|
#define __INT8_MAX__ 0x7f
|
||||||
|
#define __LONG_WIDTH__ 64
|
||||||
|
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
|
||||||
|
#define __PIC__ 2
|
||||||
|
#define __INT32_MAX__ 0x7fffffff
|
||||||
|
#define __UINT_FAST32_TYPE__ long unsigned int
|
||||||
|
#define __FLT16_MANT_DIG__ 11
|
||||||
|
#define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x
|
||||||
|
#define __CHAR32_TYPE__ unsigned int
|
||||||
|
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
|
||||||
|
#define __SSE2__ 1
|
||||||
|
#define __cpp_deduction_guides 201703L
|
||||||
|
#define __BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16
|
||||||
|
#define __INT32_TYPE__ int
|
||||||
|
#define __SIZEOF_DOUBLE__ 8
|
||||||
|
#define __cpp_exceptions 199711L
|
||||||
|
#define __FLT_MIN_10_EXP__ (-37)
|
||||||
|
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
|
||||||
|
#define __INT_LEAST32_WIDTH__ 32
|
||||||
|
#define __INTMAX_TYPE__ long int
|
||||||
|
#define __GLIBCXX_BITSIZE_INT_N_0 128
|
||||||
|
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||||
|
#define __ATOMIC_CONSUME 1
|
||||||
|
#define __GNUC_MINOR__ 2
|
||||||
|
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||||
|
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __PIE__ 2
|
||||||
|
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
|
||||||
|
#define __cpp_template_template_args 201611L
|
||||||
|
#define __DBL_MAX_10_EXP__ 308
|
||||||
|
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
|
||||||
|
#define __INT16_C(c) c
|
||||||
|
#define __STDC__ 1
|
||||||
|
#define __PTRDIFF_TYPE__ long int
|
||||||
|
#define __LONG_MAX__ 0x7fffffffffffffffL
|
||||||
|
#define __FLT32X_MIN_10_EXP__ (-307)
|
||||||
|
#define __UINTPTR_TYPE__ long unsigned int
|
||||||
|
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
|
||||||
|
#define __DEC128_MANT_DIG__ 34
|
||||||
|
#define __LDBL_MIN_10_EXP__ (-4931)
|
||||||
|
#define __cpp_generic_lambdas 201304L
|
||||||
|
#define __SSE_MATH__ 1
|
||||||
|
#define __SIZEOF_LONG_LONG__ 8
|
||||||
|
#define __cpp_user_defined_literals 200809L
|
||||||
|
#define __FLT128_DECIMAL_DIG__ 36
|
||||||
|
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
|
||||||
|
#define __FLT32_HAS_QUIET_NAN__ 1
|
||||||
|
#define __FLT_DECIMAL_DIG__ 9
|
||||||
|
#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L
|
||||||
|
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
|
||||||
|
#define __SIZE_MAX__ 0xffffffffffffffffUL
|
||||||
|
#define __UINT_FAST8_TYPE__ unsigned char
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
#define __cpp_init_captures 201304L
|
||||||
|
#define __ATOMIC_ACQ_REL 4
|
||||||
|
#define __ATOMIC_RELEASE 3
|
||||||
Loading…
Add table
Add a link
Reference in a new issue