1 : //=============================================================================
2 : // File <$/src/cpp/dev/idlc/bit_arith.cpp>
3 : // This file is part of YaOrb : Yet Another Object Request Broker,
4 : // Copyright (c) 2000-2003, 2006, Marc Alff.
5 : //
6 : // This program is free software; you can redistribute it and/or
7 : // modify it under the terms of the GNU General Public License
8 : // as published by the Free Software Foundation; either version 2
9 : // of the License, or (at your option) any later version.
10 : //
11 : // This program is distributed in the hope that it will be useful,
12 : // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 : // GNU General Public License for more details.
15 : //
16 : // You should have received a copy of the GNU General Public License
17 : // along with this program; if not, write to the Free Software
18 : // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 : //
20 : //=============================================================================
21 :
22 : #include "src/cpp/dev/idlc/bit_arith.h"
23 :
24 : // OR
25 :
26 1 : void or_u16(uint16_t operand_1, uint16_t operand_2, uint16_t * result)
27 : {
28 1 : *result = operand_1 | operand_2 ;
29 : }
30 :
31 1 : void or_s16(int16_t operand_1, int16_t operand_2, int16_t * result)
32 : {
33 1 : *result = operand_1 | operand_2 ;
34 : }
35 :
36 1 : void or_u32(uint32_t operand_1, uint32_t operand_2, uint32_t * result)
37 : {
38 1 : *result = operand_1 | operand_2 ;
39 : }
40 :
41 1 : void or_s32(int32_t operand_1, int32_t operand_2, int32_t * result)
42 : {
43 1 : *result = operand_1 | operand_2 ;
44 : }
45 :
46 1 : void or_u64(uint64_t operand_1, uint64_t operand_2, uint64_t * result)
47 : {
48 1 : *result = operand_1 | operand_2 ;
49 : }
50 :
51 1 : void or_s64(int64_t operand_1, int64_t operand_2, int64_t * result)
52 : {
53 1 : *result = operand_1 | operand_2 ;
54 : }
55 :
56 : // XOR
57 :
58 1 : void xor_u16(uint16_t operand_1, uint16_t operand_2, uint16_t * result)
59 : {
60 1 : *result = operand_1 ^ operand_2 ;
61 : }
62 :
63 1 : void xor_s16(int16_t operand_1, int16_t operand_2, int16_t * result)
64 : {
65 1 : *result = operand_1 ^ operand_2 ;
66 : }
67 :
68 1 : void xor_u32(uint32_t operand_1, uint32_t operand_2, uint32_t * result)
69 : {
70 1 : *result = operand_1 ^ operand_2 ;
71 : }
72 :
73 1 : void xor_s32(int32_t operand_1, int32_t operand_2, int32_t * result)
74 : {
75 1 : *result = operand_1 ^ operand_2 ;
76 : }
77 :
78 1 : void xor_u64(uint64_t operand_1, uint64_t operand_2, uint64_t * result)
79 : {
80 1 : *result = operand_1 ^ operand_2 ;
81 : }
82 :
83 1 : void xor_s64(int64_t operand_1, int64_t operand_2, int64_t * result)
84 : {
85 1 : *result = operand_1 ^ operand_2 ;
86 : }
87 :
88 : // AND
89 :
90 1 : void and_u16(uint16_t operand_1, uint16_t operand_2, uint16_t * result)
91 : {
92 1 : *result = operand_1 & operand_2 ;
93 : }
94 :
95 1 : void and_s16(int16_t operand_1, int16_t operand_2, int16_t * result)
96 : {
97 1 : *result = operand_1 & operand_2 ;
98 : }
99 :
100 1 : void and_u32(uint32_t operand_1, uint32_t operand_2, uint32_t * result)
101 : {
102 1 : *result = operand_1 & operand_2 ;
103 : }
104 :
105 1 : void and_s32(int32_t operand_1, int32_t operand_2, int32_t * result)
106 : {
107 1 : *result = operand_1 & operand_2 ;
108 : }
109 :
110 1 : void and_u64(uint64_t operand_1, uint64_t operand_2, uint64_t * result)
111 : {
112 1 : *result = operand_1 & operand_2 ;
113 : }
114 :
115 1 : void and_s64(int64_t operand_1, int64_t operand_2, int64_t * result)
116 : {
117 1 : *result = operand_1 & operand_2 ;
118 : }
119 :
|