2#include "common/common.hpp"
3#include "util/placement.hpp"
9namespace horizon::ODB {
11extern const char *endl;
13std::ostream &operator<<(std::ostream &os,
const Coordi &c);
16 explicit Angle(
int a) : angle((((65536 - a) % 65536) * (360. / 65536.)))
25std::ostream &operator<<(std::ostream &os,
Angle a);
28 explicit Dim(int64_t x) : dim(x / 1e6)
31 explicit Dim(uint64_t x) : dim(x / 1e6)
34 explicit Dim(
double x) : dim(x / 1e6)
40std::ostream &operator<<(std::ostream &os,
Dim d);
43 explicit DimUm(int64_t x) : dim(x / 1e3)
46 explicit DimUm(uint64_t x) : dim(x / 1e3)
52std::ostream &operator<<(std::ostream &os,
DimUm d);
54std::string utf8_to_ascii(
const std::string &s);
55std::string make_legal_name(
const std::string &n);
56std::string make_legal_entity_name(
const std::string &s);
57std::string get_layer_name(
int id);
58std::string get_drills_layer_name(
const LayerRange &span);
60std::string make_symbol_circle(uint64_t diameter);
61std::string make_symbol_rect(uint64_t w, uint64_t h);
62std::string make_symbol_oval(uint64_t w, uint64_t h);
Definition layer_range.hpp:11
Definition placement.hpp:8
Definition odb_util.hpp:15
Definition odb_util.hpp:42
Definition odb_util.hpp:27