annotate Source/Common/Operator.cs @ 3:1ef98bd70424

!bug 100 +3h Исправление проблемы BLToolkit + mono 3.4
author cin
date Fri, 22 Aug 2014 17:34:46 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Data.SqlTypes;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 namespace BLToolkit.Common
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 public static class Operator<T>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 public static IOperable<T> Op = GetOperable();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 private static IOperable<T> GetOperable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 Type t = typeof(T);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 // Scalar types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 if (t == typeof(String)) return (IOperable<T>)new S();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 if (t == typeof(SByte)) return (IOperable<T>)new S8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 if (t == typeof(Int16)) return (IOperable<T>)new S16();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 if (t == typeof(Int32)) return (IOperable<T>)new S32();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 if (t == typeof(Int64)) return (IOperable<T>)new S64();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 if (t == typeof(Byte)) return (IOperable<T>)new U8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 if (t == typeof(UInt16)) return (IOperable<T>)new U16();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 if (t == typeof(UInt32)) return (IOperable<T>)new U32();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 if (t == typeof(UInt64)) return (IOperable<T>)new U64();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 if (t == typeof(bool)) return (IOperable<T>)new B();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 if (t == typeof(Char)) return (IOperable<T>)new C();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 if (t == typeof(Single)) return (IOperable<T>)new R4();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 if (t == typeof(Double)) return (IOperable<T>)new R8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 if (t == typeof(Decimal)) return (IOperable<T>)new D();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 if (t == typeof(DateTime)) return (IOperable<T>)new DT();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 if (t == typeof(TimeSpan)) return (IOperable<T>)new TS();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 if (t == typeof(Guid)) return (IOperable<T>)new G();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 // Nullable types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 if (t == typeof(SByte?)) return (IOperable<T>)new NS8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 if (t == typeof(Int16?)) return (IOperable<T>)new NS16();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 if (t == typeof(Int32?)) return (IOperable<T>)new NS32();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 if (t == typeof(Int64?)) return (IOperable<T>)new NS64();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 if (t == typeof(Byte?)) return (IOperable<T>)new NU8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 if (t == typeof(UInt16?)) return (IOperable<T>)new NU16();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 if (t == typeof(UInt32?)) return (IOperable<T>)new NU32();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 if (t == typeof(UInt64?)) return (IOperable<T>)new NU64();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 if (t == typeof(bool?)) return (IOperable<T>)new NB();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 if (t == typeof(Char?)) return (IOperable<T>)new NC();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 if (t == typeof(Single?)) return (IOperable<T>)new NR4();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 if (t == typeof(Double?)) return (IOperable<T>)new NR8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 if (t == typeof(Decimal?)) return (IOperable<T>)new ND();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 if (t == typeof(DateTime?)) return (IOperable<T>)new NDT();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 if (t == typeof(TimeSpan?)) return (IOperable<T>)new NTS();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 if (t == typeof(Guid?)) return (IOperable<T>)new NG();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 // Sql types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 if (t == typeof(SqlString)) return (IOperable<T>)new DBS();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 if (t == typeof(SqlByte)) return (IOperable<T>)new DBU8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 if (t == typeof(SqlInt16)) return (IOperable<T>)new DBS16();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 if (t == typeof(SqlInt32)) return (IOperable<T>)new DBS32();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 if (t == typeof(SqlInt64)) return (IOperable<T>)new DBS64();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 if (t == typeof(SqlSingle)) return (IOperable<T>)new DBR4();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 if (t == typeof(SqlDouble)) return (IOperable<T>)new DBR8();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 if (t == typeof(SqlDecimal)) return (IOperable<T>)new DBD();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 if (t == typeof(SqlMoney)) return (IOperable<T>)new DBM();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 if (t == typeof(SqlBoolean)) return (IOperable<T>)new DBB();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 if (t == typeof(SqlBinary)) return (IOperable<T>)new DBBin();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 if (t == typeof(SqlDateTime)) return (IOperable<T>)new DBDT();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 if (t == typeof(SqlGuid)) return (IOperable<T>)new DBG();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 return new Default<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 public static T Addition (T op1, T op2) { return Op.Addition (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 public static T Subtraction (T op1, T op2) { return Op.Subtraction (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 public static T Multiply (T op1, T op2) { return Op.Multiply (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 public static T Division (T op1, T op2) { return Op.Division (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 public static T Modulus (T op1, T op2) { return Op.Modulus (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 public static T BitwiseAnd (T op1, T op2) { return Op.BitwiseAnd (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 public static T BitwiseOr (T op1, T op2) { return Op.BitwiseOr (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 public static T ExclusiveOr (T op1, T op2) { return Op.ExclusiveOr (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 public static T UnaryNegation (T op) { return Op.UnaryNegation (op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 public static T OnesComplement (T op) { return Op.OnesComplement (op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 public static bool Equality (T op1, T op2) { return Op.Equality (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 public static bool Inequality (T op1, T op2) { return Op.Inequality (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 public static bool GreaterThan (T op1, T op2) { return Op.GreaterThan (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 public static bool GreaterThanOrEqual(T op1, T op2) { return Op.GreaterThanOrEqual(op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 public static bool LessThan (T op1, T op2) { return Op.LessThan (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 public static bool LessThanOrEqual (T op1, T op2) { return Op.LessThanOrEqual (op1, op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 #region Default
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 private class Default<Q> : IOperable<Q>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 public Q Addition (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 public Q Subtraction (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 public Q Multiply (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 public Q Division (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 public Q Modulus (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 public Q BitwiseAnd (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 public Q BitwiseOr (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 public Q ExclusiveOr (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 public Q UnaryNegation (Q op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 public Q OnesComplement (Q op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 public bool Equality (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 public bool Inequality (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 public bool GreaterThan (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 public bool GreaterThanOrEqual(Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 public bool LessThan (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 public bool LessThanOrEqual (Q op1, Q op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 #region Scalar Types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 #region String
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 private class S : IOperable<String>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 public String Addition (String op1, String op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135 public String Subtraction (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 public String Multiply (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 public String Division (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 public String Modulus (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 public String BitwiseAnd (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 public String BitwiseOr (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 public String ExclusiveOr (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 public String UnaryNegation (String op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 public String OnesComplement (String op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 public bool Equality (String op1, String op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 public bool Inequality (String op1, String op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 public bool GreaterThan (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 public bool GreaterThanOrEqual(String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 public bool LessThan (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 public bool LessThanOrEqual (String op1, String op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 #region SByte
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159 private class S8 : IOperable<SByte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 public SByte Addition (SByte op1, SByte op2) { return (SByte)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 public SByte Subtraction (SByte op1, SByte op2) { return (SByte)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 public SByte Multiply (SByte op1, SByte op2) { return (SByte)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 public SByte Division (SByte op1, SByte op2) { return (SByte)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 public SByte Modulus (SByte op1, SByte op2) { return (SByte)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 public SByte BitwiseAnd (SByte op1, SByte op2) { return (SByte)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 public SByte BitwiseOr (SByte op1, SByte op2) { return (SByte)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 public SByte ExclusiveOr (SByte op1, SByte op2) { return (SByte)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 public SByte UnaryNegation (SByte op) { return (SByte)(-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 public SByte OnesComplement (SByte op) { return (SByte)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 public bool Equality (SByte op1, SByte op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 public bool Inequality (SByte op1, SByte op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 public bool GreaterThan (SByte op1, SByte op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 public bool GreaterThanOrEqual(SByte op1, SByte op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 public bool LessThan (SByte op1, SByte op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 public bool LessThanOrEqual (SByte op1, SByte op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 #region Int16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 private class S16 : IOperable<Int16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 public Int16 Addition (Int16 op1, Int16 op2) { return (Int16)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 public Int16 Subtraction (Int16 op1, Int16 op2) { return (Int16)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 public Int16 Multiply (Int16 op1, Int16 op2) { return (Int16)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 public Int16 Division (Int16 op1, Int16 op2) { return (Int16)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 public Int16 Modulus (Int16 op1, Int16 op2) { return (Int16)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 public Int16 BitwiseAnd (Int16 op1, Int16 op2) { return (Int16)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 public Int16 BitwiseOr (Int16 op1, Int16 op2) { return (Int16)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 public Int16 ExclusiveOr (Int16 op1, Int16 op2) { return (Int16)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 public Int16 UnaryNegation (Int16 op) { return (Int16)(-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 public Int16 OnesComplement (Int16 op) { return (Int16)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 public bool Equality (Int16 op1, Int16 op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 public bool Inequality (Int16 op1, Int16 op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 public bool GreaterThan (Int16 op1, Int16 op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 public bool GreaterThanOrEqual(Int16 op1, Int16 op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 public bool LessThan (Int16 op1, Int16 op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 public bool LessThanOrEqual (Int16 op1, Int16 op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 #region Int32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 private class S32 : IOperable<Int32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 public Int32 Addition (Int32 op1, Int32 op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 public Int32 Subtraction (Int32 op1, Int32 op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 public Int32 Multiply (Int32 op1, Int32 op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 public Int32 Division (Int32 op1, Int32 op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219 public Int32 Modulus (Int32 op1, Int32 op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 public Int32 BitwiseAnd (Int32 op1, Int32 op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 public Int32 BitwiseOr (Int32 op1, Int32 op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 public Int32 ExclusiveOr (Int32 op1, Int32 op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 public Int32 UnaryNegation (Int32 op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226 public Int32 OnesComplement (Int32 op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 public bool Equality (Int32 op1, Int32 op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229 public bool Inequality (Int32 op1, Int32 op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 public bool GreaterThan (Int32 op1, Int32 op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 public bool GreaterThanOrEqual(Int32 op1, Int32 op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 public bool LessThan (Int32 op1, Int32 op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 public bool LessThanOrEqual (Int32 op1, Int32 op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 #region Int64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240 private class S64 : IOperable<Int64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 public Int64 Addition (Int64 op1, Int64 op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 public Int64 Subtraction (Int64 op1, Int64 op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244 public Int64 Multiply (Int64 op1, Int64 op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 public Int64 Division (Int64 op1, Int64 op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 public Int64 Modulus (Int64 op1, Int64 op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248 public Int64 BitwiseAnd (Int64 op1, Int64 op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249 public Int64 BitwiseOr (Int64 op1, Int64 op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250 public Int64 ExclusiveOr (Int64 op1, Int64 op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252 public Int64 UnaryNegation (Int64 op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 public Int64 OnesComplement (Int64 op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255 public bool Equality (Int64 op1, Int64 op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 public bool Inequality (Int64 op1, Int64 op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 public bool GreaterThan (Int64 op1, Int64 op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258 public bool GreaterThanOrEqual(Int64 op1, Int64 op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259 public bool LessThan (Int64 op1, Int64 op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260 public bool LessThanOrEqual (Int64 op1, Int64 op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 #region Byte
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 private class U8 : IOperable<Byte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269 public Byte Addition (Byte op1, Byte op2) { return (Byte)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270 public Byte Subtraction (Byte op1, Byte op2) { return (Byte)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271 public Byte Multiply (Byte op1, Byte op2) { return (Byte)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272 public Byte Division (Byte op1, Byte op2) { return (Byte)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273 public Byte Modulus (Byte op1, Byte op2) { return (Byte)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 public Byte BitwiseAnd (Byte op1, Byte op2) { return (Byte)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276 public Byte BitwiseOr (Byte op1, Byte op2) { return (Byte)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277 public Byte ExclusiveOr (Byte op1, Byte op2) { return (Byte)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279 public Byte UnaryNegation (Byte op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280 public Byte OnesComplement (Byte op) { return (Byte)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282 public bool Equality (Byte op1, Byte op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 public bool Inequality (Byte op1, Byte op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284 public bool GreaterThan (Byte op1, Byte op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285 public bool GreaterThanOrEqual(Byte op1, Byte op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 public bool LessThan (Byte op1, Byte op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 public bool LessThanOrEqual (Byte op1, Byte op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292 #region UInt16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294 private class U16 : IOperable<UInt16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296 public UInt16 Addition (UInt16 op1, UInt16 op2) { return (UInt16)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 public UInt16 Subtraction (UInt16 op1, UInt16 op2) { return (UInt16)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298 public UInt16 Multiply (UInt16 op1, UInt16 op2) { return (UInt16)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299 public UInt16 Division (UInt16 op1, UInt16 op2) { return (UInt16)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 public UInt16 Modulus (UInt16 op1, UInt16 op2) { return (UInt16)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302 public UInt16 BitwiseAnd (UInt16 op1, UInt16 op2) { return (UInt16)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303 public UInt16 BitwiseOr (UInt16 op1, UInt16 op2) { return (UInt16)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304 public UInt16 ExclusiveOr (UInt16 op1, UInt16 op2) { return (UInt16)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306 public UInt16 UnaryNegation (UInt16 op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307 public UInt16 OnesComplement (UInt16 op) { return (UInt16)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309 public bool Equality (UInt16 op1, UInt16 op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310 public bool Inequality (UInt16 op1, UInt16 op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311 public bool GreaterThan (UInt16 op1, UInt16 op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 public bool GreaterThanOrEqual(UInt16 op1, UInt16 op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313 public bool LessThan (UInt16 op1, UInt16 op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314 public bool LessThanOrEqual (UInt16 op1, UInt16 op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319 #region UInt32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 private class U32 : IOperable<UInt32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 public UInt32 Addition (UInt32 op1, UInt32 op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324 public UInt32 Subtraction (UInt32 op1, UInt32 op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325 public UInt32 Multiply (UInt32 op1, UInt32 op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 public UInt32 Division (UInt32 op1, UInt32 op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 public UInt32 Modulus (UInt32 op1, UInt32 op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329 public UInt32 BitwiseAnd (UInt32 op1, UInt32 op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330 public UInt32 BitwiseOr (UInt32 op1, UInt32 op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331 public UInt32 ExclusiveOr (UInt32 op1, UInt32 op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333 public UInt32 UnaryNegation (UInt32 op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
334 public UInt32 OnesComplement (UInt32 op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
335
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
336 public bool Equality (UInt32 op1, UInt32 op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
337 public bool Inequality (UInt32 op1, UInt32 op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
338 public bool GreaterThan (UInt32 op1, UInt32 op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
339 public bool GreaterThanOrEqual(UInt32 op1, UInt32 op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
340 public bool LessThan (UInt32 op1, UInt32 op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
341 public bool LessThanOrEqual (UInt32 op1, UInt32 op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
342 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
343
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
344 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
345
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
346 #region UInt64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
347
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
348 private class U64 : IOperable<UInt64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
349 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
350 public UInt64 Addition (UInt64 op1, UInt64 op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
351 public UInt64 Subtraction (UInt64 op1, UInt64 op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
352 public UInt64 Multiply (UInt64 op1, UInt64 op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
353 public UInt64 Division (UInt64 op1, UInt64 op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
354 public UInt64 Modulus (UInt64 op1, UInt64 op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
355
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
356 public UInt64 BitwiseAnd (UInt64 op1, UInt64 op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
357 public UInt64 BitwiseOr (UInt64 op1, UInt64 op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
358 public UInt64 ExclusiveOr (UInt64 op1, UInt64 op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
359
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
360 public UInt64 UnaryNegation (UInt64 op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
361 public UInt64 OnesComplement (UInt64 op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
362
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
363 public bool Equality (UInt64 op1, UInt64 op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
364 public bool Inequality (UInt64 op1, UInt64 op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
365 public bool GreaterThan (UInt64 op1, UInt64 op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
366 public bool GreaterThanOrEqual(UInt64 op1, UInt64 op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
367 public bool LessThan (UInt64 op1, UInt64 op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
368 public bool LessThanOrEqual (UInt64 op1, UInt64 op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
369 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
370
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
371 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
372
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
373 #region Boolean
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
374
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
375 private class B : IOperable<Boolean>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
376 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
377 public Boolean Addition (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
378 public Boolean Subtraction (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
379 public Boolean Multiply (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
380 public Boolean Division (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
381 public Boolean Modulus (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
382
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
383 public Boolean BitwiseAnd (Boolean op1, Boolean op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
384 public Boolean BitwiseOr (Boolean op1, Boolean op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
385 public Boolean ExclusiveOr (Boolean op1, Boolean op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
386
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
387 public Boolean UnaryNegation (Boolean op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
388 public Boolean OnesComplement (Boolean op) { return !op; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
389
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
390 public bool Equality (Boolean op1, Boolean op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
391 public bool Inequality (Boolean op1, Boolean op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
392 public bool GreaterThan (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
393 public bool GreaterThanOrEqual(Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
394 public bool LessThan (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
395 public bool LessThanOrEqual (Boolean op1, Boolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
396 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
397
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
398 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
399
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
400 #region Char
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
401
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
402 private class C : IOperable<Char>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
403 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
404 public Char Addition (Char op1, Char op2) { return (Char)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
405 public Char Subtraction (Char op1, Char op2) { return (Char)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
406 public Char Multiply (Char op1, Char op2) { return (Char)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
407 public Char Division (Char op1, Char op2) { return (Char)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
408 public Char Modulus (Char op1, Char op2) { return (Char)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
409
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
410 public Char BitwiseAnd (Char op1, Char op2) { return (Char)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
411 public Char BitwiseOr (Char op1, Char op2) { return (Char)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
412 public Char ExclusiveOr (Char op1, Char op2) { return (Char)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
413
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
414 public Char UnaryNegation (Char op) { return (Char)(-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
415 public Char OnesComplement (Char op) { return (Char)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
416
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
417 public bool Equality (Char op1, Char op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
418 public bool Inequality (Char op1, Char op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
419 public bool GreaterThan (Char op1, Char op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
420 public bool GreaterThanOrEqual(Char op1, Char op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
421 public bool LessThan (Char op1, Char op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
422 public bool LessThanOrEqual (Char op1, Char op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
423 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
424
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
425 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
426
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
427 #region Single
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
428
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
429 private class R4 : IOperable<Single>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
430 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
431 public Single Addition (Single op1, Single op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
432 public Single Subtraction (Single op1, Single op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
433 public Single Multiply (Single op1, Single op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
434 public Single Division (Single op1, Single op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
435 public Single Modulus (Single op1, Single op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
436
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
437 public Single BitwiseAnd (Single op1, Single op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
438 public Single BitwiseOr (Single op1, Single op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
439 public Single ExclusiveOr (Single op1, Single op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
440
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
441 public Single UnaryNegation (Single op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
442 public Single OnesComplement (Single op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
443
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
444 public bool Equality (Single op1, Single op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
445 public bool Inequality (Single op1, Single op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
446 public bool GreaterThan (Single op1, Single op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
447 public bool GreaterThanOrEqual(Single op1, Single op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
448 public bool LessThan (Single op1, Single op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
449 public bool LessThanOrEqual (Single op1, Single op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
450 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
451
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
452 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
453
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
454 #region Double
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
455
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
456 private class R8 : IOperable<Double>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
457 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
458 public Double Addition (Double op1, Double op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
459 public Double Subtraction (Double op1, Double op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
460 public Double Multiply (Double op1, Double op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
461 public Double Division (Double op1, Double op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
462 public Double Modulus (Double op1, Double op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
463
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
464 public Double BitwiseAnd (Double op1, Double op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
465 public Double BitwiseOr (Double op1, Double op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
466 public Double ExclusiveOr (Double op1, Double op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
467
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
468 public Double UnaryNegation (Double op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
469 public Double OnesComplement (Double op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
470
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
471 public bool Equality (Double op1, Double op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
472 public bool Inequality (Double op1, Double op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
473 public bool GreaterThan (Double op1, Double op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
474 public bool GreaterThanOrEqual(Double op1, Double op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
475 public bool LessThan (Double op1, Double op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
476 public bool LessThanOrEqual (Double op1, Double op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
477 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
478
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
479 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
480
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
481 #region Decimal
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
482
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
483 private class D : IOperable<Decimal>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
484 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
485 public Decimal Addition (Decimal op1, Decimal op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
486 public Decimal Subtraction (Decimal op1, Decimal op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
487 public Decimal Multiply (Decimal op1, Decimal op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
488 public Decimal Division (Decimal op1, Decimal op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
489 public Decimal Modulus (Decimal op1, Decimal op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
490
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
491 public Decimal BitwiseAnd (Decimal op1, Decimal op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
492 public Decimal BitwiseOr (Decimal op1, Decimal op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
493 public Decimal ExclusiveOr (Decimal op1, Decimal op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
494
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
495 public Decimal UnaryNegation (Decimal op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
496 public Decimal OnesComplement (Decimal op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
497
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
498 public bool Equality (Decimal op1, Decimal op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
499 public bool Inequality (Decimal op1, Decimal op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
500 public bool GreaterThan (Decimal op1, Decimal op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
501 public bool GreaterThanOrEqual(Decimal op1, Decimal op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
502 public bool LessThan (Decimal op1, Decimal op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
503 public bool LessThanOrEqual (Decimal op1, Decimal op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
504 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
505
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
506 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
507
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
508 #region DateTime
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
509
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
510 private class DT : IOperable<DateTime>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
511 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
512 public DateTime Addition (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
513 public DateTime Subtraction (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
514 public DateTime Multiply (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
515 public DateTime Division (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
516 public DateTime Modulus (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
517
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
518 public DateTime BitwiseAnd (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
519 public DateTime BitwiseOr (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
520 public DateTime ExclusiveOr (DateTime op1, DateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
521
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
522 public DateTime UnaryNegation (DateTime op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
523 public DateTime OnesComplement(DateTime op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
524
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
525 public bool Equality (DateTime op1, DateTime op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
526 public bool Inequality (DateTime op1, DateTime op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
527 public bool GreaterThan (DateTime op1, DateTime op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
528 public bool GreaterThanOrEqual(DateTime op1, DateTime op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
529 public bool LessThan (DateTime op1, DateTime op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
530 public bool LessThanOrEqual (DateTime op1, DateTime op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
531 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
532
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
533 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
534
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
535 #region TimeSpan
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
536
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
537 private class TS : IOperable<TimeSpan>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
538 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
539 public TimeSpan Addition (TimeSpan op1, TimeSpan op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
540 public TimeSpan Subtraction (TimeSpan op1, TimeSpan op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
541 public TimeSpan Multiply (TimeSpan op1, TimeSpan op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
542 public TimeSpan Division (TimeSpan op1, TimeSpan op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
543 public TimeSpan Modulus (TimeSpan op1, TimeSpan op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
544
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
545 public TimeSpan BitwiseAnd (TimeSpan op1, TimeSpan op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
546 public TimeSpan BitwiseOr (TimeSpan op1, TimeSpan op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
547 public TimeSpan ExclusiveOr (TimeSpan op1, TimeSpan op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
548
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
549 public TimeSpan UnaryNegation (TimeSpan op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
550 public TimeSpan OnesComplement(TimeSpan op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
551
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
552 public bool Equality (TimeSpan op1, TimeSpan op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
553 public bool Inequality (TimeSpan op1, TimeSpan op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
554 public bool GreaterThan (TimeSpan op1, TimeSpan op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
555 public bool GreaterThanOrEqual(TimeSpan op1, TimeSpan op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
556 public bool LessThan (TimeSpan op1, TimeSpan op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
557 public bool LessThanOrEqual (TimeSpan op1, TimeSpan op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
558 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
559
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
560 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
561
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
562 #region Guid
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
563
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
564 private class G : IOperable<Guid>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
565 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
566 public Guid Addition (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
567 public Guid Subtraction (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
568 public Guid Multiply (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
569 public Guid Division (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
570 public Guid Modulus (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
571
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
572 public Guid BitwiseAnd (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
573 public Guid BitwiseOr (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
574 public Guid ExclusiveOr (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
575
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
576 public Guid UnaryNegation (Guid op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
577 public Guid OnesComplement (Guid op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
578
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
579 public bool Equality (Guid op1, Guid op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
580 public bool Inequality (Guid op1, Guid op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
581 public bool GreaterThan (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
582 public bool GreaterThanOrEqual(Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
583 public bool LessThan (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
584 public bool LessThanOrEqual (Guid op1, Guid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
585 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
586
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
587 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
588
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
589 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
590
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
591 #region Nullable Types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
592
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
593 #region SByte
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
594
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
595 private class NS8 : IOperable<SByte?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
596 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
597 public SByte? Addition (SByte? op1, SByte? op2) { return (SByte?)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
598 public SByte? Subtraction (SByte? op1, SByte? op2) { return (SByte?)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
599 public SByte? Multiply (SByte? op1, SByte? op2) { return (SByte?)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
600 public SByte? Division (SByte? op1, SByte? op2) { return (SByte?)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
601 public SByte? Modulus (SByte? op1, SByte? op2) { return (SByte?)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
602
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
603 public SByte? BitwiseAnd (SByte? op1, SByte? op2) { return (SByte?)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
604 public SByte? BitwiseOr (SByte? op1, SByte? op2) { return (SByte?)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
605 public SByte? ExclusiveOr (SByte? op1, SByte? op2) { return (SByte?)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
606
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
607 public SByte? UnaryNegation (SByte? op) { return (SByte)(- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
608 public SByte? OnesComplement (SByte? op) { return (SByte)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
609
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
610 public bool Equality (SByte? op1, SByte? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
611 public bool Inequality (SByte? op1, SByte? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
612 public bool GreaterThan (SByte? op1, SByte? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
613 public bool GreaterThanOrEqual(SByte? op1, SByte? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
614 public bool LessThan (SByte? op1, SByte? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
615 public bool LessThanOrEqual (SByte? op1, SByte? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
616 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
617
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
618 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
619
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
620 #region Int16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
621
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
622 private class NS16 : IOperable<Int16?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
623 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
624 public Int16? Addition (Int16? op1, Int16? op2) { return (Int16?)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
625 public Int16? Subtraction (Int16? op1, Int16? op2) { return (Int16?)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
626 public Int16? Multiply (Int16? op1, Int16? op2) { return (Int16?)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
627 public Int16? Division (Int16? op1, Int16? op2) { return (Int16?)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
628 public Int16? Modulus (Int16? op1, Int16? op2) { return (Int16?)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
629
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
630 public Int16? BitwiseAnd (Int16? op1, Int16? op2) { return (Int16?)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
631 public Int16? BitwiseOr (Int16? op1, Int16? op2) { return (Int16?)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
632 public Int16? ExclusiveOr (Int16? op1, Int16? op2) { return (Int16?)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
633
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
634 public Int16? UnaryNegation (Int16? op) { return (Int16)(- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
635 public Int16? OnesComplement (Int16? op) { return (Int16)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
636
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
637 public bool Equality (Int16? op1, Int16? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
638 public bool Inequality (Int16? op1, Int16? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
639 public bool GreaterThan (Int16? op1, Int16? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
640 public bool GreaterThanOrEqual(Int16? op1, Int16? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
641 public bool LessThan (Int16? op1, Int16? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
642 public bool LessThanOrEqual (Int16? op1, Int16? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
643 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
644
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
645 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
646
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
647 #region Int32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
648
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
649 private class NS32 : IOperable<Int32?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
650 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
651 public Int32? Addition (Int32? op1, Int32? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
652 public Int32? Subtraction (Int32? op1, Int32? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
653 public Int32? Multiply (Int32? op1, Int32? op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
654 public Int32? Division (Int32? op1, Int32? op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
655 public Int32? Modulus (Int32? op1, Int32? op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
656
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
657 public Int32? BitwiseAnd (Int32? op1, Int32? op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
658 public Int32? BitwiseOr (Int32? op1, Int32? op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
659 public Int32? ExclusiveOr (Int32? op1, Int32? op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
660
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
661 public Int32? UnaryNegation (Int32? op) { return (- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
662 public Int32? OnesComplement (Int32? op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
663
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
664 public bool Equality (Int32? op1, Int32? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
665 public bool Inequality (Int32? op1, Int32? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
666 public bool GreaterThan (Int32? op1, Int32? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
667 public bool GreaterThanOrEqual(Int32? op1, Int32? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
668 public bool LessThan (Int32? op1, Int32? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
669 public bool LessThanOrEqual (Int32? op1, Int32? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
670 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
671
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
672 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
673
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
674 #region Int64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
675
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
676 private class NS64 : IOperable<Int64?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
677 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
678 public Int64? Addition (Int64? op1, Int64? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
679 public Int64? Subtraction (Int64? op1, Int64? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
680 public Int64? Multiply (Int64? op1, Int64? op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
681 public Int64? Division (Int64? op1, Int64? op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
682 public Int64? Modulus (Int64? op1, Int64? op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
683
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
684 public Int64? BitwiseAnd (Int64? op1, Int64? op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
685 public Int64? BitwiseOr (Int64? op1, Int64? op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
686 public Int64? ExclusiveOr (Int64? op1, Int64? op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
687
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
688 public Int64? UnaryNegation (Int64? op) { return (- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
689 public Int64? OnesComplement (Int64? op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
690
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
691 public bool Equality (Int64? op1, Int64? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
692 public bool Inequality (Int64? op1, Int64? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
693 public bool GreaterThan (Int64? op1, Int64? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
694 public bool GreaterThanOrEqual(Int64? op1, Int64? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
695 public bool LessThan (Int64? op1, Int64? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
696 public bool LessThanOrEqual (Int64? op1, Int64? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
697 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
698
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
699 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
700
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
701 #region Byte
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
702
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
703 private class NU8 : IOperable<Byte?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
704 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
705 public Byte? Addition (Byte? op1, Byte? op2) { return (Byte?)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
706 public Byte? Subtraction (Byte? op1, Byte? op2) { return (Byte?)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
707 public Byte? Multiply (Byte? op1, Byte? op2) { return (Byte?)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
708 public Byte? Division (Byte? op1, Byte? op2) { return (Byte?)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
709 public Byte? Modulus (Byte? op1, Byte? op2) { return (Byte?)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
710
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
711 public Byte? BitwiseAnd (Byte? op1, Byte? op2) { return (Byte?)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
712 public Byte? BitwiseOr (Byte? op1, Byte? op2) { return (Byte?)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
713 public Byte? ExclusiveOr (Byte? op1, Byte? op2) { return (Byte?)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
714
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
715 public Byte? UnaryNegation (Byte? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
716 public Byte? OnesComplement (Byte? op) { return (Byte?)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
717
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
718 public bool Equality (Byte? op1, Byte? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
719 public bool Inequality (Byte? op1, Byte? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
720 public bool GreaterThan (Byte? op1, Byte? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
721 public bool GreaterThanOrEqual(Byte? op1, Byte? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
722 public bool LessThan (Byte? op1, Byte? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
723 public bool LessThanOrEqual (Byte? op1, Byte? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
724 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
725
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
726 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
727
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
728 #region UInt16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
729
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
730 private class NU16 : IOperable<UInt16?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
731 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
732 public UInt16? Addition (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
733 public UInt16? Subtraction (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
734 public UInt16? Multiply (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
735 public UInt16? Division (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
736 public UInt16? Modulus (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
737
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
738 public UInt16? BitwiseAnd (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
739 public UInt16? BitwiseOr (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
740 public UInt16? ExclusiveOr (UInt16? op1, UInt16? op2) { return (UInt16?)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
741
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
742 public UInt16? UnaryNegation (UInt16? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
743 public UInt16? OnesComplement (UInt16? op) { return (UInt16?)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
744
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
745 public bool Equality (UInt16? op1, UInt16? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
746 public bool Inequality (UInt16? op1, UInt16? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
747 public bool GreaterThan (UInt16? op1, UInt16? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
748 public bool GreaterThanOrEqual(UInt16? op1, UInt16? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
749 public bool LessThan (UInt16? op1, UInt16? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
750 public bool LessThanOrEqual (UInt16? op1, UInt16? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
751 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
752
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
753 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
754
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
755 #region UInt32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
756
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
757 private class NU32 : IOperable<UInt32?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
758 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
759 public UInt32? Addition (UInt32? op1, UInt32? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
760 public UInt32? Subtraction (UInt32? op1, UInt32? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
761 public UInt32? Multiply (UInt32? op1, UInt32? op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
762 public UInt32? Division (UInt32? op1, UInt32? op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
763 public UInt32? Modulus (UInt32? op1, UInt32? op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
764
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
765 public UInt32? BitwiseAnd (UInt32? op1, UInt32? op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
766 public UInt32? BitwiseOr (UInt32? op1, UInt32? op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
767 public UInt32? ExclusiveOr (UInt32? op1, UInt32? op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
768
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
769 public UInt32? UnaryNegation (UInt32? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
770 public UInt32? OnesComplement (UInt32? op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
771
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
772 public bool Equality (UInt32? op1, UInt32? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
773 public bool Inequality (UInt32? op1, UInt32? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
774 public bool GreaterThan (UInt32? op1, UInt32? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
775 public bool GreaterThanOrEqual(UInt32? op1, UInt32? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
776 public bool LessThan (UInt32? op1, UInt32? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
777 public bool LessThanOrEqual (UInt32? op1, UInt32? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
778 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
779
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
780 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
781
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
782 #region UInt64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
783
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
784 private class NU64 : IOperable<UInt64?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
785 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
786 public UInt64? Addition (UInt64? op1, UInt64? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
787 public UInt64? Subtraction (UInt64? op1, UInt64? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
788 public UInt64? Multiply (UInt64? op1, UInt64? op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
789 public UInt64? Division (UInt64? op1, UInt64? op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
790 public UInt64? Modulus (UInt64? op1, UInt64? op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
791
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
792 public UInt64? BitwiseAnd (UInt64? op1, UInt64? op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
793 public UInt64? BitwiseOr (UInt64? op1, UInt64? op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
794 public UInt64? ExclusiveOr (UInt64? op1, UInt64? op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
795
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
796 public UInt64? UnaryNegation (UInt64? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
797 public UInt64? OnesComplement (UInt64? op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
798
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
799 public bool Equality (UInt64? op1, UInt64? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
800 public bool Inequality (UInt64? op1, UInt64? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
801 public bool GreaterThan (UInt64? op1, UInt64? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
802 public bool GreaterThanOrEqual(UInt64? op1, UInt64? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
803 public bool LessThan (UInt64? op1, UInt64? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
804 public bool LessThanOrEqual (UInt64? op1, UInt64? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
805 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
806
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
807 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
808
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
809 #region Boolean
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
810
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
811 private class NB : IOperable<Boolean?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
812 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
813 public Boolean? Addition (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
814 public Boolean? Subtraction (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
815 public Boolean? Multiply (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
816 public Boolean? Division (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
817 public Boolean? Modulus (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
818
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
819 public Boolean? BitwiseAnd (Boolean? op1, Boolean? op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
820 public Boolean? BitwiseOr (Boolean? op1, Boolean? op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
821 public Boolean? ExclusiveOr (Boolean? op1, Boolean? op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
822
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
823 public Boolean? UnaryNegation (Boolean? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
824 public Boolean? OnesComplement(Boolean? op) { return !op; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
825
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
826 public bool Equality (Boolean? op1, Boolean? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
827 public bool Inequality (Boolean? op1, Boolean? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
828 public bool GreaterThan (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
829 public bool GreaterThanOrEqual(Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
830 public bool LessThan (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
831 public bool LessThanOrEqual (Boolean? op1, Boolean? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
832 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
833
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
834 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
835
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
836 #region Char
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
837
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
838 private class NC : IOperable<Char?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
839 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
840 public Char? Addition (Char? op1, Char? op2) { return (Char?)(op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
841 public Char? Subtraction (Char? op1, Char? op2) { return (Char?)(op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
842 public Char? Multiply (Char? op1, Char? op2) { return (Char?)(op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
843 public Char? Division (Char? op1, Char? op2) { return (Char?)(op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
844 public Char? Modulus (Char? op1, Char? op2) { return (Char?)(op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
845
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
846 public Char? BitwiseAnd (Char? op1, Char? op2) { return (Char?)(op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
847 public Char? BitwiseOr (Char? op1, Char? op2) { return (Char?)(op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
848 public Char? ExclusiveOr (Char? op1, Char? op2) { return (Char?)(op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
849
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
850 public Char? UnaryNegation (Char? op) { return (Char?)(-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
851 public Char? OnesComplement (Char? op) { return (Char?)(~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
852
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
853 public bool Equality (Char? op1, Char? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
854 public bool Inequality (Char? op1, Char? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
855 public bool GreaterThan (Char? op1, Char? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
856 public bool GreaterThanOrEqual(Char? op1, Char? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
857 public bool LessThan (Char? op1, Char? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
858 public bool LessThanOrEqual (Char? op1, Char? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
859 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
860
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
861 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
862
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
863 #region Single
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
864
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
865 private class NR4 : IOperable<Single?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
866 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
867 public Single? Addition (Single? op1, Single? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
868 public Single? Subtraction (Single? op1, Single? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
869 public Single? Multiply (Single? op1, Single? op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
870 public Single? Division (Single? op1, Single? op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
871 public Single? Modulus (Single? op1, Single? op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
872
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
873 public Single? BitwiseAnd (Single? op1, Single? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
874 public Single? BitwiseOr (Single? op1, Single? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
875 public Single? ExclusiveOr (Single? op1, Single? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
876
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
877 public Single? UnaryNegation (Single? op) { return (- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
878 public Single? OnesComplement (Single? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
879
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
880 public bool Equality (Single? op1, Single? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
881 public bool Inequality (Single? op1, Single? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
882 public bool GreaterThan (Single? op1, Single? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
883 public bool GreaterThanOrEqual(Single? op1, Single? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
884 public bool LessThan (Single? op1, Single? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
885 public bool LessThanOrEqual (Single? op1, Single? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
886 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
887
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
888 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
889
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
890 #region Double
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
891
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
892 private class NR8 : IOperable<Double?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
893 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
894 public Double? Addition (Double? op1, Double? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
895 public Double? Subtraction (Double? op1, Double? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
896 public Double? Multiply (Double? op1, Double? op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
897 public Double? Division (Double? op1, Double? op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
898 public Double? Modulus (Double? op1, Double? op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
899
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
900 public Double? BitwiseAnd (Double? op1, Double? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
901 public Double? BitwiseOr (Double? op1, Double? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
902 public Double? ExclusiveOr (Double? op1, Double? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
903
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
904 public Double? UnaryNegation (Double? op) { return (- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
905 public Double? OnesComplement (Double? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
906
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
907 public bool Equality (Double? op1, Double? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
908 public bool Inequality (Double? op1, Double? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
909 public bool GreaterThan (Double? op1, Double? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
910 public bool GreaterThanOrEqual(Double? op1, Double? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
911 public bool LessThan (Double? op1, Double? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
912 public bool LessThanOrEqual (Double? op1, Double? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
913 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
914
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
915 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
916
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
917 #region Decimal
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
918
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
919 private class ND : IOperable<Decimal?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
920 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
921 public Decimal? Addition (Decimal? op1, Decimal? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
922 public Decimal? Subtraction (Decimal? op1, Decimal? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
923 public Decimal? Multiply (Decimal? op1, Decimal? op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
924 public Decimal? Division (Decimal? op1, Decimal? op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
925 public Decimal? Modulus (Decimal? op1, Decimal? op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
926
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
927 public Decimal? BitwiseAnd (Decimal? op1, Decimal? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
928 public Decimal? BitwiseOr (Decimal? op1, Decimal? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
929 public Decimal? ExclusiveOr (Decimal? op1, Decimal? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
930
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
931 public Decimal? UnaryNegation (Decimal? op) { return (- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
932 public Decimal? OnesComplement(Decimal? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
933
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
934 public bool Equality (Decimal? op1, Decimal? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
935 public bool Inequality (Decimal? op1, Decimal? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
936 public bool GreaterThan (Decimal? op1, Decimal? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
937 public bool GreaterThanOrEqual(Decimal? op1, Decimal? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
938 public bool LessThan (Decimal? op1, Decimal? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
939 public bool LessThanOrEqual (Decimal? op1, Decimal? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
940 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
941
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
942 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
943
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
944 #region DateTime
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
945
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
946 private class NDT : IOperable<DateTime?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
947 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
948 public DateTime? Addition (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
949 public DateTime? Subtraction (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
950 public DateTime? Multiply (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
951 public DateTime? Division (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
952 public DateTime? Modulus (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
953
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
954 public DateTime? BitwiseAnd (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
955 public DateTime? BitwiseOr (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
956 public DateTime? ExclusiveOr (DateTime? op1, DateTime? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
957
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
958 public DateTime? UnaryNegation (DateTime? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
959 public DateTime? OnesComplement(DateTime? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
960
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
961 public bool Equality (DateTime? op1, DateTime? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
962 public bool Inequality (DateTime? op1, DateTime? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
963 public bool GreaterThan (DateTime? op1, DateTime? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
964 public bool GreaterThanOrEqual (DateTime? op1, DateTime? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
965 public bool LessThan (DateTime? op1, DateTime? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
966 public bool LessThanOrEqual (DateTime? op1, DateTime? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
967 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
968
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
969 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
970
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
971 #region TimeSpan
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
972
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
973 private class NTS : IOperable<TimeSpan?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
974 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
975 public TimeSpan? Addition (TimeSpan? op1, TimeSpan? op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
976 public TimeSpan? Subtraction (TimeSpan? op1, TimeSpan? op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
977 public TimeSpan? Multiply (TimeSpan? op1, TimeSpan? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
978 public TimeSpan? Division (TimeSpan? op1, TimeSpan? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
979 public TimeSpan? Modulus (TimeSpan? op1, TimeSpan? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
980
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
981 public TimeSpan? BitwiseAnd (TimeSpan? op1, TimeSpan? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
982 public TimeSpan? BitwiseOr (TimeSpan? op1, TimeSpan? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
983 public TimeSpan? ExclusiveOr (TimeSpan? op1, TimeSpan? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
984
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
985 public TimeSpan? UnaryNegation (TimeSpan? op) { return (- op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
986 public TimeSpan? OnesComplement(TimeSpan? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
987
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
988 public bool Equality (TimeSpan? op1, TimeSpan? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
989 public bool Inequality (TimeSpan? op1, TimeSpan? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
990 public bool GreaterThan (TimeSpan? op1, TimeSpan? op2) { return op1 > op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
991 public bool GreaterThanOrEqual (TimeSpan? op1, TimeSpan? op2) { return op1 >= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
992 public bool LessThan (TimeSpan? op1, TimeSpan? op2) { return op1 < op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
993 public bool LessThanOrEqual (TimeSpan? op1, TimeSpan? op2) { return op1 <= op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
994 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
995
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
996 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
997
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
998 #region Guid?
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
999
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1000 private class NG : IOperable<Guid?>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1001 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1002 public Guid? Addition (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1003 public Guid? Subtraction (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1004 public Guid? Multiply (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1005 public Guid? Division (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1006 public Guid? Modulus (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1007
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1008 public Guid? BitwiseAnd (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1009 public Guid? BitwiseOr (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1010 public Guid? ExclusiveOr (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1011
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1012 public Guid? UnaryNegation (Guid? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1013 public Guid? OnesComplement (Guid? op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1014
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1015 public bool Equality (Guid? op1, Guid? op2) { return op1 == op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1016 public bool Inequality (Guid? op1, Guid? op2) { return op1 != op2; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1017 public bool GreaterThan (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1018 public bool GreaterThanOrEqual(Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1019 public bool LessThan (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1020 public bool LessThanOrEqual (Guid? op1, Guid? op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1021 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1022
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1023 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1024
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1025 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1026
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1027 #region Sql types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1028
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1029 #region SqlString
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1030
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1031 private class DBS : IOperable<SqlString>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1032 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1033 public SqlString Addition (SqlString op1, SqlString op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1034 public SqlString Subtraction (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1035 public SqlString Multiply (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1036 public SqlString Division (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1037 public SqlString Modulus (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1038
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1039 public SqlString BitwiseAnd (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1040 public SqlString BitwiseOr (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1041 public SqlString ExclusiveOr (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1042
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1043 public SqlString UnaryNegation (SqlString op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1044 public SqlString OnesComplement(SqlString op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1045
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1046 public bool Equality (SqlString op1, SqlString op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1047 public bool Inequality (SqlString op1, SqlString op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1048 public bool GreaterThan (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1049 public bool GreaterThanOrEqual (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1050 public bool LessThan (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1051 public bool LessThanOrEqual (SqlString op1, SqlString op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1052 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1053
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1054 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1055
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1056 #region SqlByte
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1057
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1058 private class DBU8 : IOperable<SqlByte>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1059 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1060 public SqlByte Addition (SqlByte op1, SqlByte op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1061 public SqlByte Subtraction (SqlByte op1, SqlByte op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1062 public SqlByte Multiply (SqlByte op1, SqlByte op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1063 public SqlByte Division (SqlByte op1, SqlByte op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1064 public SqlByte Modulus (SqlByte op1, SqlByte op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1065
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1066 public SqlByte BitwiseAnd (SqlByte op1, SqlByte op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1067 public SqlByte BitwiseOr (SqlByte op1, SqlByte op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1068 public SqlByte ExclusiveOr (SqlByte op1, SqlByte op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1069
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1070 public SqlByte UnaryNegation (SqlByte op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1071 public SqlByte OnesComplement (SqlByte op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1072
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1073 public bool Equality (SqlByte op1, SqlByte op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1074 public bool Inequality (SqlByte op1, SqlByte op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1075 public bool GreaterThan (SqlByte op1, SqlByte op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1076 public bool GreaterThanOrEqual(SqlByte op1, SqlByte op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1077 public bool LessThan (SqlByte op1, SqlByte op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1078 public bool LessThanOrEqual (SqlByte op1, SqlByte op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1079 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1080
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1081 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1082
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1083 #region Int16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1084
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1085 private class DBS16 : IOperable<SqlInt16>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1086 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1087 public SqlInt16 Addition (SqlInt16 op1, SqlInt16 op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1088 public SqlInt16 Subtraction (SqlInt16 op1, SqlInt16 op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1089 public SqlInt16 Multiply (SqlInt16 op1, SqlInt16 op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1090 public SqlInt16 Division (SqlInt16 op1, SqlInt16 op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1091 public SqlInt16 Modulus (SqlInt16 op1, SqlInt16 op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1092
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1093 public SqlInt16 BitwiseAnd (SqlInt16 op1, SqlInt16 op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1094 public SqlInt16 BitwiseOr (SqlInt16 op1, SqlInt16 op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1095 public SqlInt16 ExclusiveOr (SqlInt16 op1, SqlInt16 op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1096
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1097 public SqlInt16 UnaryNegation (SqlInt16 op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1098 public SqlInt16 OnesComplement(SqlInt16 op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1099
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1100 public bool Equality (SqlInt16 op1, SqlInt16 op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1101 public bool Inequality (SqlInt16 op1, SqlInt16 op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1102 public bool GreaterThan (SqlInt16 op1, SqlInt16 op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1103 public bool GreaterThanOrEqual(SqlInt16 op1, SqlInt16 op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1104 public bool LessThan (SqlInt16 op1, SqlInt16 op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1105 public bool LessThanOrEqual (SqlInt16 op1, SqlInt16 op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1106 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1107
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1108 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1109
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1110 #region SqlInt32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1111
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1112 private class DBS32 : IOperable<SqlInt32>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1113 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1114 public SqlInt32 Addition (SqlInt32 op1, SqlInt32 op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1115 public SqlInt32 Subtraction (SqlInt32 op1, SqlInt32 op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1116 public SqlInt32 Multiply (SqlInt32 op1, SqlInt32 op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1117 public SqlInt32 Division (SqlInt32 op1, SqlInt32 op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1118 public SqlInt32 Modulus (SqlInt32 op1, SqlInt32 op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1119
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1120 public SqlInt32 BitwiseAnd (SqlInt32 op1, SqlInt32 op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1121 public SqlInt32 BitwiseOr (SqlInt32 op1, SqlInt32 op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1122 public SqlInt32 ExclusiveOr (SqlInt32 op1, SqlInt32 op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1123
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1124 public SqlInt32 UnaryNegation (SqlInt32 op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1125 public SqlInt32 OnesComplement(SqlInt32 op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1126
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1127 public bool Equality (SqlInt32 op1, SqlInt32 op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1128 public bool Inequality (SqlInt32 op1, SqlInt32 op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1129 public bool GreaterThan (SqlInt32 op1, SqlInt32 op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1130 public bool GreaterThanOrEqual(SqlInt32 op1, SqlInt32 op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1131 public bool LessThan (SqlInt32 op1, SqlInt32 op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1132 public bool LessThanOrEqual (SqlInt32 op1, SqlInt32 op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1133 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1134
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1135 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1136
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1137 #region SqlInt64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1138
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1139 private class DBS64 : IOperable<SqlInt64>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1140 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1141 public SqlInt64 Addition (SqlInt64 op1, SqlInt64 op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1142 public SqlInt64 Subtraction (SqlInt64 op1, SqlInt64 op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1143 public SqlInt64 Multiply (SqlInt64 op1, SqlInt64 op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1144 public SqlInt64 Division (SqlInt64 op1, SqlInt64 op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1145 public SqlInt64 Modulus (SqlInt64 op1, SqlInt64 op2) { return (op1 % op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1146
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1147 public SqlInt64 BitwiseAnd (SqlInt64 op1, SqlInt64 op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1148 public SqlInt64 BitwiseOr (SqlInt64 op1, SqlInt64 op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1149 public SqlInt64 ExclusiveOr (SqlInt64 op1, SqlInt64 op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1150
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1151 public SqlInt64 UnaryNegation (SqlInt64 op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1152 public SqlInt64 OnesComplement(SqlInt64 op) { return (~op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1153
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1154 public bool Equality (SqlInt64 op1, SqlInt64 op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1155 public bool Inequality (SqlInt64 op1, SqlInt64 op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1156 public bool GreaterThan (SqlInt64 op1, SqlInt64 op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1157 public bool GreaterThanOrEqual(SqlInt64 op1, SqlInt64 op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1158 public bool LessThan (SqlInt64 op1, SqlInt64 op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1159 public bool LessThanOrEqual (SqlInt64 op1, SqlInt64 op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1160 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1161
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1162 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1163
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1164 #region SqlBoolean
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1165
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1166 private class DBB : IOperable<SqlBoolean>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1167 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1168 public SqlBoolean Addition (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1169 public SqlBoolean Subtraction (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1170 public SqlBoolean Multiply (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1171 public SqlBoolean Division (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1172 public SqlBoolean Modulus (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1173
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1174 public SqlBoolean BitwiseAnd (SqlBoolean op1, SqlBoolean op2) { return (op1 & op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1175 public SqlBoolean BitwiseOr (SqlBoolean op1, SqlBoolean op2) { return (op1 | op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1176 public SqlBoolean ExclusiveOr (SqlBoolean op1, SqlBoolean op2) { return (op1 ^ op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1177
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1178 public SqlBoolean UnaryNegation (SqlBoolean op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1179 public SqlBoolean OnesComplement(SqlBoolean op) { return !op; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1180
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1181 public bool Equality (SqlBoolean op1, SqlBoolean op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1182 public bool Inequality (SqlBoolean op1, SqlBoolean op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1183 public bool GreaterThan (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1184 public bool GreaterThanOrEqual (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1185 public bool LessThan (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1186 public bool LessThanOrEqual (SqlBoolean op1, SqlBoolean op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1187 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1188
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1189 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1190
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1191 #region SqlSingle
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1192
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1193 private class DBR4 : IOperable<SqlSingle>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1194 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1195 public SqlSingle Addition (SqlSingle op1, SqlSingle op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1196 public SqlSingle Subtraction (SqlSingle op1, SqlSingle op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1197 public SqlSingle Multiply (SqlSingle op1, SqlSingle op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1198 public SqlSingle Division (SqlSingle op1, SqlSingle op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1199 public SqlSingle Modulus (SqlSingle op1, SqlSingle op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1200
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1201 public SqlSingle BitwiseAnd (SqlSingle op1, SqlSingle op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1202 public SqlSingle BitwiseOr (SqlSingle op1, SqlSingle op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1203 public SqlSingle ExclusiveOr (SqlSingle op1, SqlSingle op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1204
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1205 public SqlSingle UnaryNegation (SqlSingle op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1206 public SqlSingle OnesComplement(SqlSingle op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1207
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1208 public bool Equality (SqlSingle op1, SqlSingle op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1209 public bool Inequality (SqlSingle op1, SqlSingle op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1210 public bool GreaterThan (SqlSingle op1, SqlSingle op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1211 public bool GreaterThanOrEqual (SqlSingle op1, SqlSingle op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1212 public bool LessThan (SqlSingle op1, SqlSingle op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1213 public bool LessThanOrEqual (SqlSingle op1, SqlSingle op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1214 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1215
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1216 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1217
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1218 #region SqlDouble
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1219
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1220 private class DBR8 : IOperable<SqlDouble>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1221 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1222 public SqlDouble Addition (SqlDouble op1, SqlDouble op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1223 public SqlDouble Subtraction (SqlDouble op1, SqlDouble op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1224 public SqlDouble Multiply (SqlDouble op1, SqlDouble op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1225 public SqlDouble Division (SqlDouble op1, SqlDouble op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1226 public SqlDouble Modulus (SqlDouble op1, SqlDouble op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1227
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1228 public SqlDouble BitwiseAnd (SqlDouble op1, SqlDouble op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1229 public SqlDouble BitwiseOr (SqlDouble op1, SqlDouble op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1230 public SqlDouble ExclusiveOr (SqlDouble op1, SqlDouble op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1231
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1232 public SqlDouble UnaryNegation (SqlDouble op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1233 public SqlDouble OnesComplement(SqlDouble op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1234
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1235 public bool Equality (SqlDouble op1, SqlDouble op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1236 public bool Inequality (SqlDouble op1, SqlDouble op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1237 public bool GreaterThan (SqlDouble op1, SqlDouble op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1238 public bool GreaterThanOrEqual (SqlDouble op1, SqlDouble op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1239 public bool LessThan (SqlDouble op1, SqlDouble op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1240 public bool LessThanOrEqual (SqlDouble op1, SqlDouble op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1241 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1242
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1243 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1244
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1245 #region SqlDecimal
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1246
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1247 private class DBD : IOperable<SqlDecimal>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1248 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1249 public SqlDecimal Addition (SqlDecimal op1, SqlDecimal op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1250 public SqlDecimal Subtraction (SqlDecimal op1, SqlDecimal op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1251 public SqlDecimal Multiply (SqlDecimal op1, SqlDecimal op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1252 public SqlDecimal Division (SqlDecimal op1, SqlDecimal op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1253 public SqlDecimal Modulus (SqlDecimal op1, SqlDecimal op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1254
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1255 public SqlDecimal BitwiseAnd (SqlDecimal op1, SqlDecimal op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1256 public SqlDecimal BitwiseOr (SqlDecimal op1, SqlDecimal op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1257 public SqlDecimal ExclusiveOr (SqlDecimal op1, SqlDecimal op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1258
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1259 public SqlDecimal UnaryNegation (SqlDecimal op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1260 public SqlDecimal OnesComplement(SqlDecimal op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1261
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1262 public bool Equality (SqlDecimal op1, SqlDecimal op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1263 public bool Inequality (SqlDecimal op1, SqlDecimal op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1264 public bool GreaterThan (SqlDecimal op1, SqlDecimal op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1265 public bool GreaterThanOrEqual (SqlDecimal op1, SqlDecimal op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1266 public bool LessThan (SqlDecimal op1, SqlDecimal op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1267 public bool LessThanOrEqual (SqlDecimal op1, SqlDecimal op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1268 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1269
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1270 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1271
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1272 #region SqlMoney
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1273
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1274 private class DBM : IOperable<SqlMoney>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1275 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1276 public SqlMoney Addition (SqlMoney op1, SqlMoney op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1277 public SqlMoney Subtraction (SqlMoney op1, SqlMoney op2) { return (op1 - op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1278 public SqlMoney Multiply (SqlMoney op1, SqlMoney op2) { return (op1 * op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1279 public SqlMoney Division (SqlMoney op1, SqlMoney op2) { return (op1 / op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1280 public SqlMoney Modulus (SqlMoney op1, SqlMoney op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1281
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1282 public SqlMoney BitwiseAnd (SqlMoney op1, SqlMoney op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1283 public SqlMoney BitwiseOr (SqlMoney op1, SqlMoney op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1284 public SqlMoney ExclusiveOr (SqlMoney op1, SqlMoney op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1285
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1286 public SqlMoney UnaryNegation (SqlMoney op) { return (-op); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1287 public SqlMoney OnesComplement(SqlMoney op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1288
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1289 public bool Equality (SqlMoney op1, SqlMoney op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1290 public bool Inequality (SqlMoney op1, SqlMoney op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1291 public bool GreaterThan (SqlMoney op1, SqlMoney op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1292 public bool GreaterThanOrEqual(SqlMoney op1, SqlMoney op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1293 public bool LessThan (SqlMoney op1, SqlMoney op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1294 public bool LessThanOrEqual (SqlMoney op1, SqlMoney op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1295 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1296
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1297 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1298
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1299 #region SqlDateTime
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1300
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1301 private class DBDT : IOperable<SqlDateTime>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1302 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1303 public SqlDateTime Addition (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1304 public SqlDateTime Subtraction (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1305 public SqlDateTime Multiply (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1306 public SqlDateTime Division (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1307 public SqlDateTime Modulus (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1308
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1309 public SqlDateTime BitwiseAnd (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1310 public SqlDateTime BitwiseOr (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1311 public SqlDateTime ExclusiveOr (SqlDateTime op1, SqlDateTime op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1312
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1313 public SqlDateTime UnaryNegation (SqlDateTime op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1314 public SqlDateTime OnesComplement(SqlDateTime op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1315
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1316 public bool Equality (SqlDateTime op1, SqlDateTime op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1317 public bool Inequality (SqlDateTime op1, SqlDateTime op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1318 public bool GreaterThan (SqlDateTime op1, SqlDateTime op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1319 public bool GreaterThanOrEqual (SqlDateTime op1, SqlDateTime op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1320 public bool LessThan (SqlDateTime op1, SqlDateTime op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1321 public bool LessThanOrEqual (SqlDateTime op1, SqlDateTime op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1322 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1323
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1324 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1325
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1326 #region SqlBinary
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1327
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1328 private class DBBin : IOperable<SqlBinary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1329 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1330 public SqlBinary Addition (SqlBinary op1, SqlBinary op2) { return (op1 + op2); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1331 public SqlBinary Subtraction (SqlBinary op1, SqlBinary op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1332 public SqlBinary Multiply (SqlBinary op1, SqlBinary op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1333 public SqlBinary Division (SqlBinary op1, SqlBinary op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1334 public SqlBinary Modulus (SqlBinary op1, SqlBinary op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1335
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1336 public SqlBinary BitwiseAnd (SqlBinary op1, SqlBinary op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1337 public SqlBinary BitwiseOr (SqlBinary op1, SqlBinary op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1338 public SqlBinary ExclusiveOr (SqlBinary op1, SqlBinary op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1339
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1340 public SqlBinary UnaryNegation (SqlBinary op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1341 public SqlBinary OnesComplement(SqlBinary op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1342
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1343 public bool Equality (SqlBinary op1, SqlBinary op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1344 public bool Inequality (SqlBinary op1, SqlBinary op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1345 public bool GreaterThan (SqlBinary op1, SqlBinary op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1346 public bool GreaterThanOrEqual (SqlBinary op1, SqlBinary op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1347 public bool LessThan (SqlBinary op1, SqlBinary op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1348 public bool LessThanOrEqual (SqlBinary op1, SqlBinary op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1349 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1350
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1351 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1352
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1353 #region SqlGuid
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1354
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1355 private class DBG : IOperable<SqlGuid>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1356 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1357 public SqlGuid Addition (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1358 public SqlGuid Subtraction (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1359 public SqlGuid Multiply (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1360 public SqlGuid Division (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1361 public SqlGuid Modulus (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1362
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1363 public SqlGuid BitwiseAnd (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1364 public SqlGuid BitwiseOr (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1365 public SqlGuid ExclusiveOr (SqlGuid op1, SqlGuid op2) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1366
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1367 public SqlGuid UnaryNegation (SqlGuid op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1368 public SqlGuid OnesComplement (SqlGuid op) { throw new InvalidOperationException(); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1369
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1370 public bool Equality (SqlGuid op1, SqlGuid op2) { return (op1 == op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1371 public bool Inequality (SqlGuid op1, SqlGuid op2) { return (op1 != op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1372 public bool GreaterThan (SqlGuid op1, SqlGuid op2) { return (op1 > op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1373 public bool GreaterThanOrEqual(SqlGuid op1, SqlGuid op2) { return (op1 >= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1374 public bool LessThan (SqlGuid op1, SqlGuid op2) { return (op1 < op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1375 public bool LessThanOrEqual (SqlGuid op1, SqlGuid op2) { return (op1 <= op2).IsTrue; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1376 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1377
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1378 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1379
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1380 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1381 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1382
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1383 public static class Operator
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1384 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1385 public static T Addition <T>(T a, T b) { return Operator<T>.Op.Addition (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1386 public static T Subtraction <T>(T a, T b) { return Operator<T>.Op.Subtraction (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1387 public static T Multiply <T>(T a, T b) { return Operator<T>.Op.Multiply (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1388 public static T Division <T>(T a, T b) { return Operator<T>.Op.Division (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1389 public static T Modulus <T>(T a, T b) { return Operator<T>.Op.Modulus (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1390
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1391 public static T BitwiseAnd <T>(T a, T b) { return Operator<T>.Op.BitwiseAnd (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1392 public static T BitwiseOr <T>(T a, T b) { return Operator<T>.Op.BitwiseOr (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1393 public static T ExclusiveOr <T>(T a, T b) { return Operator<T>.Op.ExclusiveOr (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1394
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1395 public static T UnaryNegation <T>(T a) { return Operator<T>.Op.UnaryNegation (a); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1396 public static T OnesComplement <T>(T a) { return Operator<T>.Op.OnesComplement (a); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1397
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1398 public static bool Equality <T>(T a, T b) { return Operator<T>.Op.Equality (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1399 public static bool Inequality <T>(T a, T b) { return Operator<T>.Op.Inequality (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1400 public static bool GreaterThan <T>(T a, T b) { return Operator<T>.Op.GreaterThan (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1401 public static bool GreaterThanOrEqual<T>(T a, T b) { return Operator<T>.Op.GreaterThanOrEqual(a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1402 public static bool LessThan <T>(T a, T b) { return Operator<T>.Op.LessThan (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1403 public static bool LessThanOrEqual <T>(T a, T b) { return Operator<T>.Op.LessThanOrEqual (a, b); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1404 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1405 }