clangformat

This commit is contained in:
Sergiusz Bazanski 2018-08-01 03:59:27 +01:00
parent 7d62c89fd5
commit 85fc356fc1
13 changed files with 99 additions and 133 deletions

View File

@ -205,10 +205,7 @@ struct DecalXY
DecalId decal;
float x = 0, y = 0;
bool operator==(const DecalXY &other) const
{
return (decal == other.decal && x == other.x && y == other.y);
}
bool operator==(const DecalXY &other) const { return (decal == other.decal && x == other.x && y == other.y); }
};
struct BelPin

View File

@ -75,7 +75,8 @@ int main(int argc, char *argv[])
}
if (vm.count("help") || argc == 1) {
std::cout << boost::filesystem::basename(argv[0]) << " -- Next Generation Place and Route (git "
std::cout << boost::filesystem::basename(argv[0])
<< " -- Next Generation Place and Route (git "
"sha1 " GIT_COMMIT_HASH_STR ")\n";
std::cout << "\n";
std::cout << options << "\n";
@ -83,7 +84,8 @@ int main(int argc, char *argv[])
}
if (vm.count("version")) {
std::cout << boost::filesystem::basename(argv[0]) << " -- Next Generation Place and Route (git "
std::cout << boost::filesystem::basename(argv[0])
<< " -- Next Generation Place and Route (git "
"sha1 " GIT_COMMIT_HASH_STR ")\n";
return 1;
}

View File

@ -50,7 +50,6 @@ template <typename CoordinateT, typename ElementT> class QuadTreeNode
{
}
BoundingBox() : x0_(pinf), y0_(pinf), x1_(ninf), y1_(ninf) {}
BoundingBox(const BoundingBox &other) : x0_(other.x0_), y0_(other.y0_), x1_(other.x1_), y1_(other.y1_) {}

View File

@ -25,7 +25,6 @@ NEXTPNR_NAMESPACE_BEGIN
namespace TreeModel {
// converts 'aa123bb432' -> ['aa', '123', 'bb', '432']
std::vector<QString> IdStringList::alphaNumSplit(const QString &str)
{
@ -149,10 +148,7 @@ void IdStringList::search(QList<Item*> &results, QString text, int limit)
}
}
Model::Model(QObject *parent) :
QAbstractItemModel(parent),
root_(new Item("Elements", nullptr)) {}
Model::Model(QObject *parent) : QAbstractItemModel(parent), root_(new Item("Elements", nullptr)) {}
Model::~Model() {}
@ -176,7 +172,8 @@ void Model::loadContext(Context *ctx)
belMap[std::pair<int, int>(loc.x, loc.y)].push_back(bel);
}
auto belGetter = [](Context *ctx, BelId id) { return ctx->getBelName(id); };
bel_root_ = std::unique_ptr<BelXYRoot>(new BelXYRoot(ctx, "Bels", root_.get(), belMap, belGetter, ElementType::BEL));
bel_root_ = std::unique_ptr<BelXYRoot>(
new BelXYRoot(ctx, "Bels", root_.get(), belMap, belGetter, ElementType::BEL));
std::map<std::pair<int, int>, std::vector<WireId>> wireMap;
for (int i = 0; i < ctx->chip_info->num_wires; i++) {
@ -186,7 +183,8 @@ void Model::loadContext(Context *ctx)
wireMap[std::pair<int, int>(wire->x, wire->y)].push_back(wireid);
}
auto wireGetter = [](Context *ctx, WireId id) { return ctx->getWireName(id); };
wire_root_ = std::unique_ptr<WireXYRoot>(new WireXYRoot(ctx, "Wires", root_.get(), wireMap, wireGetter, ElementType::WIRE));
wire_root_ = std::unique_ptr<WireXYRoot>(
new WireXYRoot(ctx, "Wires", root_.get(), wireMap, wireGetter, ElementType::WIRE));
std::map<std::pair<int, int>, std::vector<PipId>> pipMap;
for (int i = 0; i < ctx->chip_info->num_pips; i++) {
@ -196,7 +194,8 @@ void Model::loadContext(Context *ctx)
pipMap[std::pair<int, int>(pip->x, pip->y)].push_back(pipid);
}
auto pipGetter = [](Context *ctx, PipId id) { return ctx->getPipName(id); };
pip_root_ = std::unique_ptr<PipXYRoot>(new PipXYRoot(ctx, "Pips", root_.get(), pipMap, pipGetter, ElementType::PIP));
pip_root_ = std::unique_ptr<PipXYRoot>(
new PipXYRoot(ctx, "Pips", root_.get(), pipMap, pipGetter, ElementType::PIP));
}
#endif
@ -284,7 +283,6 @@ Qt::ItemFlags Model::flags(const QModelIndex &index) const
return Qt::ItemIsEnabled | (node->type() != ElementType::NONE ? Qt::ItemIsSelectable : Qt::NoItemFlags);
}
void Model::fetchMore(const QModelIndex &parent)
{
if (ctx_ == nullptr)
@ -296,10 +294,7 @@ void Model::fetchMore(const QModelIndex &parent)
nodeFromIndex(parent)->fetchMore();
}
bool Model::canFetchMore(const QModelIndex &parent) const
{
return nodeFromIndex(parent)->canFetchMore();
}
bool Model::canFetchMore(const QModelIndex &parent) const { return nodeFromIndex(parent)->canFetchMore(); }
QList<QModelIndex> Model::search(QString text)
{

View File

@ -60,14 +60,10 @@ class Item
// Children that are loaded into memory.
QList<Item *> children_;
void addChild(Item *child)
{
children_.append(child);
}
void addChild(Item *child) { children_.append(child); }
public:
Item(QString name, Item *parent) :
name_(name), parent_(parent)
Item(QString name, Item *parent) : name_(name), parent_(parent)
{
// Register in parent if exists.
if (parent_ != nullptr) {
@ -115,18 +111,14 @@ class IdStringItem : public Item
ElementType type_;
public:
IdStringItem(Context *ctx, IdString str, Item *parent, ElementType type) :
Item(QString(str.c_str(ctx)), parent), id_(str), type_(type) {}
virtual IdString id() const override
IdStringItem(Context *ctx, IdString str, Item *parent, ElementType type)
: Item(QString(str.c_str(ctx)), parent), id_(str), type_(type)
{
return id_;
}
virtual ElementType type() const override
{
return type_;
}
virtual IdString id() const override { return id_; }
virtual ElementType type() const override { return type_; }
};
// IdString list is a static list of IdStrings which can be set/updates from
@ -144,18 +136,14 @@ class IdStringList : public Item
public:
// Create an IdStringList at given partent that will contain elements of
// the given type.
IdStringList(QString name, Item *parent, ElementType type) :
Item(name, parent), child_type_(type) {}
IdStringList(QString name, Item *parent, ElementType type) : Item(name, parent), child_type_(type) {}
// Split a name into alpha/non-alpha parts, which is then used for sorting
// of children.
static std::vector<QString> alphaNumSplit(const QString &str);
// getById finds a child for the given IdString.
IdStringItem *getById(IdString id) const
{
return managed_.at(id).get();
}
IdStringItem *getById(IdString id) const { return managed_.at(id).get(); }
// (Re-)create children from a list of IdStrings.
void updateElements(Context *ctx, std::vector<IdString> elements);
@ -164,13 +152,11 @@ class IdStringList : public Item
void search(QList<Item *> &results, QString text, int limit);
};
// ElementList is a dynamic list of ElementT (BelId,WireId,...) that are
// automatically generated based on an overall map of elements.
// ElementList is emitted from ElementXYRoot, and contains the actual
// Bels/Wires/Pips underneath it.
template <typename ElementT>
class ElementList : public Item
template <typename ElementT> class ElementList : public Item
{
public:
// A map from tile (X,Y) to list of ElementTs in that tile.
@ -193,23 +179,18 @@ class ElementList : public Item
// Gets elements that this list should create from the map. This pointer is
// short-lived (as it will change when the map mutates.
const std::vector<ElementT> *elements() const
{
return &map_->at(std::make_pair(x_, y_));
}
const std::vector<ElementT> *elements() const { return &map_->at(std::make_pair(x_, y_)); }
public:
ElementList(Context *ctx, QString name, Item *parent, ElementMap *map, int x, int y, ElementGetter getter, ElementType type) :
Item(name, parent), ctx_(ctx), map_(map), x_(x), y_(y), getter_(getter), child_type_(type)
ElementList(Context *ctx, QString name, Item *parent, ElementMap *map, int x, int y, ElementGetter getter,
ElementType type)
: Item(name, parent), ctx_(ctx), map_(map), x_(x), y_(y), getter_(getter), child_type_(type)
{
}
// Lazy loading of elements.
virtual bool canFetchMore() const override
{
return (size_t)children_.size() < elements()->size();
}
virtual bool canFetchMore() const override { return (size_t)children_.size() < elements()->size(); }
void fetchMore(int count)
{
@ -229,16 +210,14 @@ class ElementList : public Item
}
}
virtual void fetchMore() override
{
fetchMore(100);
}
virtual void fetchMore() override { fetchMore(100); }
// getById finds a child for the given IdString.
boost::optional<Item *> getById(IdString id)
{
// Search requires us to load all our elements...
while (canFetchMore()) fetchMore();
while (canFetchMore())
fetchMore();
auto res = managed_.find(id);
if (res != managed_.end()) {
@ -255,7 +234,8 @@ class ElementList : public Item
return;
// Search requires us to load all our elements...
while (canFetchMore()) fetchMore();
while (canFetchMore())
fetchMore();
for (const auto &child : children_) {
if (limit != -1 && results.size() > limit)
@ -270,8 +250,7 @@ class ElementList : public Item
// It can take any of {BelId,WireId,PipId} and create a tree that
// hierarchizes them by X and Y tile positions, when given a map from X,Y to
// list of ElementTs in that tile.
template <typename ElementT>
class ElementXYRoot : public Item
template <typename ElementT> class ElementXYRoot : public Item
{
public:
// A map from tile (X,Y) to list of ElementTs in that tile.
@ -279,7 +258,6 @@ class ElementXYRoot : public Item
// A method that converts an ElementT to an IdString.
using ElementGetter = std::function<IdString(Context *, ElementT)>;
private:
Context *ctx_;
// X-index children that we manage the memory for.
@ -293,8 +271,8 @@ class ElementXYRoot : public Item
ElementType child_type_;
public:
ElementXYRoot(Context *ctx, QString name, Item *parent, ElementMap map, ElementGetter getter, ElementType type) :
Item(name, parent), ctx_(ctx), map_(map), getter_(getter), child_type_(type)
ElementXYRoot(Context *ctx, QString name, Item *parent, ElementMap map, ElementGetter getter, ElementType type)
: Item(name, parent), ctx_(ctx), map_(map), getter_(getter), child_type_(type)
{
// Create all X and Y label Items/ElementLists.
@ -320,7 +298,8 @@ class ElementXYRoot : public Item
for (auto j : y_present) {
// Create Y list ElementList.
auto item2 = new ElementList<ElementT>(ctx_, QString("Y%1").arg(j), item, &map_, i, j, getter_, child_type_);
auto item2 =
new ElementList<ElementT>(ctx_, QString("Y%1").arg(j), item, &map_, i, j, getter_, child_type_);
// Pre-populate list with one element, other Qt will never ask for more.
item2->fetchMore(1);
managed_lists_.push_back(std::move(std::unique_ptr<ElementList<ElementT>>(item2)));
@ -410,7 +389,6 @@ class Model : public QAbstractItemModel
bool canFetchMore(const QModelIndex &parent) const Q_DECL_OVERRIDE;
private:
// Tree elements that we manage the memory for.
std::unique_ptr<Item> root_;
std::unique_ptr<BelXYRoot> bel_root_;

View File

@ -566,8 +566,9 @@ void write_asc(const Context *ctx, std::ostream &out)
set_config(ti, config.at(y).at(x),
"Cascade.IPCON_LC0" + std::to_string(lc_idx) + "_inmux02_5", true);
else
set_config(ti, config.at(y).at(x), "Cascade.MULT" + std::to_string(int(tile - TILE_DSP0)) +
"_LC0" + std::to_string(lc_idx) + "_inmux02_5",
set_config(ti, config.at(y).at(x),
"Cascade.MULT" + std::to_string(int(tile - TILE_DSP0)) + "_LC0" +
std::to_string(lc_idx) + "_inmux02_5",
true);
}
}

View File

@ -144,7 +144,8 @@ int main(int argc, char *argv[])
#endif
if (vm.count("help") || argc == 1) {
help:
std::cout << boost::filesystem::basename(argv[0]) << " -- Next Generation Place and Route (git "
std::cout << boost::filesystem::basename(argv[0])
<< " -- Next Generation Place and Route (git "
"sha1 " GIT_COMMIT_HASH_STR ")\n";
std::cout << "\n";
std::cout << options << "\n";
@ -152,7 +153,8 @@ int main(int argc, char *argv[])
}
if (vm.count("version")) {
std::cout << boost::filesystem::basename(argv[0]) << " -- Next Generation Place and Route (git "
std::cout << boost::filesystem::basename(argv[0])
<< " -- Next Generation Place and Route (git "
"sha1 " GIT_COMMIT_HASH_STR ")\n";
return 1;
}

View File

@ -662,12 +662,12 @@ static void pack_special(Context *ctx)
auto feedback_path = packed->params[ctx->id("FEEDBACK_PATH")];
packed->params[ctx->id("FEEDBACK_PATH")] =
feedback_path == "DELAY" ? "0" : feedback_path == "SIMPLE"
? "1"
feedback_path == "DELAY"
? "0"
: feedback_path == "SIMPLE" ? "1"
: feedback_path == "PHASE_AND_DELAY"
? "2"
: feedback_path == "EXTERNAL" ? "6"
: feedback_path;
: feedback_path == "EXTERNAL" ? "6" : feedback_path;
packed->params[ctx->id("PLLTYPE")] = std::to_string(sb_pll40_type(ctx, ci));
NetInfo *pad_packagepin_net = nullptr;

View File

@ -164,8 +164,6 @@ class PlacementLegaliser
ctx->assignArchInfo();
return legalised_carries && replaced_cells;
}

View File

@ -17,9 +17,9 @@
*
*/
#include "quadtree.h"
#include "gtest/gtest.h"
#include "nextpnr.h"
#include "quadtree.h"
USING_NEXTPNR_NAMESPACE
@ -28,14 +28,8 @@ using QT = QuadTree<int, int>;
class QuadTreeTest : public ::testing::Test
{
protected:
virtual void SetUp()
{
qt_ = new QT(QT::BoundingBox(0, 0, width_, height_));
}
virtual void TearDown()
{
delete qt_;
}
virtual void SetUp() { qt_ = new QT(QT::BoundingBox(0, 0, width_, height_)); }
virtual void TearDown() { delete qt_; }
int width_ = 100;
int height_ = 100;