2#include "common/common.hpp"
3#include "util/placement.hpp"
10namespace horizon::ODB {
12extern const char *endl;
14std::ostream &operator<<(std::ostream &os,
const Coordi &c);
17 explicit Angle(
int a) : angle((((65536 - a) % 65536) * (360. / 65536.)))
20 explicit Angle(
const Placement &pl) : Angle(pl.get_angle())
26std::ostream &operator<<(std::ostream &os,
Angle a);
29 explicit Dim(int64_t x) : dim(x / 1e6)
32 explicit Dim(uint64_t x) : dim(x / 1e6)
35 explicit Dim(
double x) : dim(x / 1e6)
41std::ostream &operator<<(std::ostream &os,
Dim d);
44 explicit DimUm(int64_t x) : dim(x / 1e3)
47 explicit DimUm(uint64_t x) : dim(x / 1e3)
53std::ostream &operator<<(std::ostream &os,
DimUm d);
55std::string utf8_to_ascii(
const std::string &s);
56std::string make_legal_name(
const std::string &n);
57std::string make_legal_entity_name(
const std::string &s);
61std::string make_symbol_circle(uint64_t diameter);
62std::string make_symbol_rect(uint64_t w, uint64_t h);
63std::string make_symbol_oval(uint64_t w, uint64_t h);
Definition layer_provider.hpp:8
Definition layer_range.hpp:11
Definition placement.hpp:8
Definition odb_util.hpp:16
Definition odb_util.hpp:43
Definition odb_util.hpp:28