YARP
Yet Another Robot Platform
NetUint64.cpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <yarp/os/NetUint64.h>
8 
9 #ifndef YARP_LITTLE_ENDIAN
10 
11 using namespace yarp;
12 using namespace yarp::os;
13 
14 
15 std::uint64_t NetUint64::swap(std::uint64_t x) const
16 {
17  UnionNetUint64 in, out;
18  in.d = x;
19  for (int i = 0; i < 8; i++) {
20  out.c[i] = in.c[7 - i];
21  }
22  return out.d;
23 }
24 RawNetUint64 NetUint64::get() const
25 {
26  return (RawNetUint64)swap((RawNetUint64)raw_value);
27 }
28 void NetUint64::set(RawNetUint64 v)
29 {
30  raw_value = (RawNetUint64)swap((RawNetUint64)v);
31 }
33 {
34 }
35 NetUint64::NetUint64(RawNetUint64 val)
36 {
37  set(val);
38 }
39 NetUint64::operator RawNetUint64() const
40 {
41  return get();
42 }
43 RawNetUint64 NetUint64::operator+(RawNetUint64 v) const
44 {
45  return get() + v;
46 }
47 RawNetUint64 NetUint64::operator-(RawNetUint64 v) const
48 {
49  return get() - v;
50 }
51 RawNetUint64 NetUint64::operator*(RawNetUint64 v) const
52 {
53  return get() * v;
54 }
55 RawNetUint64 NetUint64::operator/(RawNetUint64 v) const
56 {
57  return get() / v;
58 }
59 void NetUint64::operator+=(RawNetUint64 v)
60 {
61  set(get() + v);
62 }
63 void NetUint64::operator-=(RawNetUint64 v)
64 {
65  set(get() - v);
66 }
67 void NetUint64::operator*=(RawNetUint64 v)
68 {
69  set(get() * v);
70 }
71 void NetUint64::operator/=(RawNetUint64 v)
72 {
73  set(get() / v);
74 }
75 #endif // YARP_LITTLE_ENDIAN
Vector & operator+=(Vector &a, const double &s)
Addition operator between a scalar and a vector (defined in Math.h).
Definition: math.cpp:38
Vector operator+(const Vector &a, const double &s)
Mathematical operations.
Definition: math.cpp:27
Vector operator-(const Vector &a, const double &s)
Subtraction operator between a vector and a scalar (defined in Math.h).
Definition: math.cpp:82
Vector operator*(double k, const Vector &b)
Scalar-vector product operator (defined in Math.h).
Definition: math.cpp:143
Vector & operator*=(Vector &a, double k)
Vector-scalar product operator (defined in Math.h).
Definition: math.cpp:154
Vector & operator/=(Vector &a, const Vector &b)
Vector-vector element-wise division operator (defined in Math.h).
Definition: math.cpp:266
Vector operator/(const Vector &a, const Vector &b)
Vector-vector element-wise division operator (defined in Math.h).
Definition: math.cpp:260
Vector & operator-=(Vector &a, const double &s)
Subtraction operator between a vector and a scalar (defined in Math.h).
Definition: math.cpp:98
An interface to the operating system, including Port based communication.
std::uint64_t NetUint64
Definition of the NetInt64 type.
Definition: NetUint64.h:30
The main, catch-all namespace for YARP.
Definition: dirs.h:16