Luxophia

Форк
0
/
LUX.D4.M4.pas 
229 строк · 8.2 Кб
1
unit LUX.D4.M4;
2

3
interface //#################################################################### ■
4

5
uses LUX, LUX.D1, LUX.D2, LUX.D3, LUX.D4;
6

7
type //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【型】
8

9
     //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
10

11
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TSingle4DM4
12

13
     TSingle4DM4 = record
14
     private
15
       ///// アクセス
16
       function GetM( const Y_,X_:Integer ) :TSingle4D; inline;
17
       procedure SetM( const Y_,X_:Integer; const M_:TSingle4D ); inline;
18
     public
19
       ///// プロパティ
20
       property M[ const Y_,X_:Integer ] :TSingle4D read GetM write SetM; default;
21
     case Integer of
22
      0:( _ :array [ 1..4, 1..4 ] of TSingle4D; );
23
      1:( _11, _12, _13, _14,
24
          _21, _22, _23, _24,
25
          _31, _32, _33, _34,
26
          _41, _42, _43, _44 :TSingle4D;        );
27
     end;
28

29
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TDouble4DM4
30

31
     TDouble4DM4 = record
32
     private
33
       ///// アクセス
34
       function GetM( const Y_,X_:Integer ) :TDouble4D; inline;
35
       procedure SetM( const Y_,X_:Integer; const M_:TDouble4D ); inline;
36
     public
37
       ///// プロパティ
38
       property M[ const Y_,X_:Integer ] :TDouble4D read GetM write SetM; default;
39
     case Integer of
40
      0:( _ :array [ 1..4, 1..4 ] of TDouble4D; );
41
      1:( _11, _12, _13, _14,
42
          _21, _22, _23, _24,
43
          _31, _32, _33, _34,
44
          _41, _42, _43, _44 :TDouble4D;        );
45
     end;
46

47
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TdSingle4DM4
48

49
     TdSingle4DM4 = record
50
     private
51
       ///// アクセス
52
       function GetM( const Y_,X_:Integer ) :TdSingle4D; inline;
53
       procedure SetM( const Y_,X_:Integer; const M_:TdSingle4D ); inline;
54
     public
55
       ///// プロパティ
56
       property M[ const Y_,X_:Integer ] :TdSingle4D read GetM write SetM; default;
57
       ///// 型変換
58
       class operator Implicit( const M_:TSingle4DM4 ) :TdSingle4DM4; inline;
59
       class operator Explicit( const M_:TdSingle4DM4 ) :TSingle4DM4; inline;
60
     case Integer of
61
      0:( _ :array [ 1..4, 1..4 ] of TdSingle4D; );
62
      1:( _11, _12, _13, _14,
63
          _21, _22, _23, _24,
64
          _31, _32, _33, _34,
65
          _41, _42, _43, _44 :TdSingle4D;        );
66
     end;
67

68
     //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TdDouble4DM4
69

70
     TdDouble4DM4 = record
71
     private
72
       ///// アクセス
73
       function GetM( const Y_,X_:Integer ) :TdDouble4D; inline;
74
       procedure SetM( const Y_,X_:Integer; const M_:TdDouble4D ); inline;
75
     public
76
       ///// プロパティ
77
       property M[ const Y_,X_:Integer ] :TdDouble4D read GetM write SetM; default;
78
       ///// 型変換
79
       class operator Implicit( const M_:TDouble4DM4 ) :TdDouble4DM4; inline;
80
       class operator Explicit( const M_:TdDouble4DM4 ) :TDouble4DM4; inline;
81
     case Integer of
82
      0:( _ :array [ 1..4, 1..4 ] of TdDouble4D; );
83
      1:( _11, _12, _13, _14,
84
          _21, _22, _23, _24,
85
          _31, _32, _33, _34,
86
          _41, _42, _43, _44 :TdDouble4D;        );
87
     end;
88

89
     //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
90

91
//const //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【定数】
92

93
//var //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【変数】
94

95
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
96

97
implementation //############################################################### ■
98

99
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
100

101
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TSingle4DM4
102

103
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
104

105
/////////////////////////////////////////////////////////////////////// アクセス
106

107
function TSingle4DM4.GetM( const Y_,X_:Integer ) :TSingle4D;
108
begin
109
     Result := _[ Y_, X_ ];
110
end;
111

112
procedure TSingle4DM4.SetM( const Y_,X_:Integer; const M_:TSingle4D );
113
begin
114
     _[ Y_, X_ ] := M_;
115
end;
116

117
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
118

119
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TDouble4DM4
120

121
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
122

123
/////////////////////////////////////////////////////////////////////// アクセス
124

125
function TDouble4DM4.GetM( const Y_,X_:Integer ) :TDouble4D;
126
begin
127
     Result := _[ Y_, X_ ];
128
end;
129

130
procedure TDouble4DM4.SetM( const Y_,X_:Integer; const M_:TDouble4D );
131
begin
132
     _[ Y_, X_ ] := M_;
133
end;
134

135
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TdSingle4DM4
136

137
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
138

139
/////////////////////////////////////////////////////////////////////// アクセス
140

141
function TdSingle4DM4.GetM( const Y_,X_:Integer ) :TdSingle4D;
142
begin
143
     Result := _[ Y_, X_ ];
144
end;
145

146
procedure TdSingle4DM4.SetM( const Y_,X_:Integer; const M_:TdSingle4D );
147
begin
148
     _[ Y_, X_ ] := M_;
149
end;
150

151
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
152

153
///////////////////////////////////////////////////////////////////////// 型変換
154

155
class operator TdSingle4DM4.Implicit( const M_:TSingle4DM4 ) :TdSingle4DM4;
156
begin
157
     with Result  do
158
     begin
159
          _11 := M_._11;  _12 := M_._12;  _13 := M_._13;  _14 := M_._14;
160
          _21 := M_._21;  _22 := M_._22;  _23 := M_._23;  _24 := M_._24;
161
          _31 := M_._31;  _32 := M_._32;  _33 := M_._33;  _34 := M_._34;
162
          _41 := M_._41;  _42 := M_._42;  _43 := M_._43;  _44 := M_._44;
163
     end;
164
end;
165

166
class operator TdSingle4DM4.Explicit( const M_:TdSingle4DM4 ) :TSingle4DM4;
167
begin
168
     with Result  do
169
     begin
170
          _11 := M_._11;  _12 := M_._12;  _13 := M_._13;  _14 := M_._14;
171
          _21 := M_._21;  _22 := M_._22;  _23 := M_._23;  _24 := M_._24;
172
          _31 := M_._31;  _32 := M_._32;  _33 := M_._33;  _34 := M_._34;
173
          _41 := M_._41;  _42 := M_._42;  _43 := M_._43;  _44 := M_._44;
174
     end;
175
end;
176

177
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TdDouble4DM4
178

179
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
180

181
/////////////////////////////////////////////////////////////////////// アクセス
182

183
function TdDouble4DM4.GetM( const Y_,X_:Integer ) :TdDouble4D;
184
begin
185
     Result := _[ Y_, X_ ];
186
end;
187

188
procedure TdDouble4DM4.SetM( const Y_,X_:Integer; const M_:TdDouble4D );
189
begin
190
     _[ Y_, X_ ] := M_;
191
end;
192

193
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
194

195
///////////////////////////////////////////////////////////////////////// 型変換
196

197
class operator TdDouble4DM4.Implicit( const M_:TDouble4DM4 ) :TdDouble4DM4;
198
begin
199
     with Result  do
200
     begin
201
          _11 := M_._11;  _12 := M_._12;  _13 := M_._13;  _14 := M_._14;
202
          _21 := M_._21;  _22 := M_._22;  _23 := M_._23;  _24 := M_._24;
203
          _31 := M_._31;  _32 := M_._32;  _33 := M_._33;  _34 := M_._34;
204
          _41 := M_._41;  _42 := M_._42;  _43 := M_._43;  _44 := M_._44;
205
     end;
206
end;
207

208
class operator TdDouble4DM4.Explicit( const M_:TdDouble4DM4 ) :TDouble4DM4;
209
begin
210
     with Result  do
211
     begin
212
          _11 := M_._11;  _12 := M_._12;  _13 := M_._13;  _14 := M_._14;
213
          _21 := M_._21;  _22 := M_._22;  _23 := M_._23;  _24 := M_._24;
214
          _31 := M_._31;  _32 := M_._32;  _33 := M_._33;  _34 := M_._34;
215
          _41 := M_._41;  _42 := M_._42;  _43 := M_._43;  _44 := M_._44;
216
     end;
217
end;
218

219
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
220

221
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
222

223
//############################################################################## □
224

225
initialization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 初期化
226

227
finalization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 最終化
228

229
end. //######################################################################### ■

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.