PageRenderTime 82ms CodeModel.GetById 73ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/groff/src/preproc/pic/position.h

https://bitbucket.org/freebsd/freebsd-head/
C++ Header | 47 lines | 22 code | 5 blank | 20 comment | 0 complexity | e971a52fa8c6bf847a546b18f96ae17e MD5 | raw file
 1// -*- C++ -*-
 2/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
 3     Written by James Clark (jjc@jclark.com)
 4
 5This file is part of groff.
 6
 7groff is free software; you can redistribute it and/or modify it under
 8the terms of the GNU General Public License as published by the Free
 9Software Foundation; either version 2, or (at your option) any later
10version.
11
12groff is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License along
18with groff; see the file COPYING.  If not, write to the Free Software
19Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA. */
20
21struct place;
22struct position {
23  double x;
24  double y;
25  position(double, double );
26  position();
27  position(const place &);
28  position &operator+=(const position &);
29  position &operator-=(const position &);
30  position &operator*=(double);
31  position &operator/=(double);
32};
33
34position operator-(const position &);
35position operator+(const position &, const position &);
36position operator-(const position &, const position &);
37position operator/(const position &, double);
38position operator*(const position &, double);
39// dot product
40double operator*(const position &, const position &);
41int operator==(const position &, const position &);
42int operator!=(const position &, const position &);
43
44double hypot(const position &a);
45
46typedef position distance;
47