Added static built data list
This commit is contained in:
parent
188d775b7f
commit
489cf3a85c
@ -306,6 +306,8 @@ set (wsjtx_CXXSRCS
|
|||||||
WsprTxScheduler.cpp
|
WsprTxScheduler.cpp
|
||||||
varicode.cpp
|
varicode.cpp
|
||||||
jsc.cpp
|
jsc.cpp
|
||||||
|
jsc_list.cpp
|
||||||
|
jsc_map.cpp
|
||||||
SelfDestructMessageBox.cpp
|
SelfDestructMessageBox.cpp
|
||||||
messagereplydialog.cpp
|
messagereplydialog.cpp
|
||||||
keyeater.cpp
|
keyeater.cpp
|
||||||
|
16
jsc.cpp
16
jsc.cpp
@ -45,6 +45,22 @@ Codeword codeword(quint32 index, bool separate, quint32 bytesize, quint32 s, qui
|
|||||||
return word;
|
return word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QPair<CompressionMap, CompressionList> JSC::loadCompressionTable(){
|
||||||
|
CompressionMap out;
|
||||||
|
CompressionList words;
|
||||||
|
|
||||||
|
for(int i = 0; i < JSC::size; i++){
|
||||||
|
out[JSC::map[i]] = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
words.reserve(JSC::size);
|
||||||
|
for(int i = 0; i < JSC::size; i++){
|
||||||
|
words.append(JSC::list[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {out, words};
|
||||||
|
}
|
||||||
|
|
||||||
QPair<CompressionMap, CompressionList> JSC::loadCompressionTable(QTextStream &stream){
|
QPair<CompressionMap, CompressionList> JSC::loadCompressionTable(QTextStream &stream){
|
||||||
CompressionMap out;
|
CompressionMap out;
|
||||||
CompressionList words;
|
CompressionList words;
|
||||||
|
6
jsc.h
6
jsc.h
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
|
#include <QStringList>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
#include <QPair>
|
#include <QPair>
|
||||||
#include <QVector>
|
#include <QVector>
|
||||||
@ -20,9 +21,14 @@ typedef QVector<bool> Codeword;
|
|||||||
class JSC
|
class JSC
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static CompressionTable loadCompressionTable();
|
||||||
static CompressionTable loadCompressionTable(QTextStream &stream);
|
static CompressionTable loadCompressionTable(QTextStream &stream);
|
||||||
static QList<CodewordPair> compress(CompressionTable table, QString text);
|
static QList<CodewordPair> compress(CompressionTable table, QString text);
|
||||||
static QString decompress(CompressionTable table, Codeword const& bits);
|
static QString decompress(CompressionTable table, Codeword const& bits);
|
||||||
|
|
||||||
|
static const int size = 233638;
|
||||||
|
static char const* map[];
|
||||||
|
static char const* list[];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // JSC_H
|
#endif // JSC_H
|
||||||
|
233651
jsc_list.cpp
Normal file
233651
jsc_list.cpp
Normal file
File diff suppressed because it is too large
Load Diff
233662
jsc_map.cpp
Normal file
233662
jsc_map.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@ -1451,24 +1451,16 @@ void MainWindow::not_GA_warning_message ()
|
|||||||
|
|
||||||
void MainWindow::initializeDummyData(){
|
void MainWindow::initializeDummyData(){
|
||||||
|
|
||||||
QFile file("jsc.dat");
|
auto table = JSC::loadCompressionTable();
|
||||||
if (file.open(QIODevice::ReadOnly | QIODevice::Text)){
|
|
||||||
QTextStream s(&file);
|
|
||||||
|
|
||||||
auto table = JSC::loadCompressionTable(s);
|
Codeword bits;
|
||||||
|
auto compressed = JSC::compress(table, "E A T EAT TEA ATE EATTET");
|
||||||
Codeword bits;
|
foreach(auto pair, compressed){
|
||||||
auto compressed = JSC::compress(table, "E A T EAT TEA ATE EATTET");
|
qDebug() << "compressed" << Varicode::bitsToStr(pair.first);
|
||||||
foreach(auto pair, compressed){
|
bits.append(pair.first);
|
||||||
qDebug() << "compressed" << Varicode::bitsToStr(pair.first);
|
|
||||||
bits.append(pair.first);
|
|
||||||
}
|
|
||||||
|
|
||||||
qDebug() << "decomressed" << JSC::decompress(table, bits);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qDebug() << "decomressed" << JSC::decompress(table, bits);
|
||||||
|
|
||||||
|
|
||||||
if(!QApplication::applicationName().contains("dummy")){
|
if(!QApplication::applicationName().contains("dummy")){
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user