MathgeomGLS

Форк
0
/
Neslib.FastMath.Internal.inc 
950 строк · 32.0 Кб
1
{ These declarations need to be in the "interface" section of this unit for
2
  Delphi's inlining to work }
3

4
{$IF Defined(FM_ARM)}
5
const
6
  {$IF Defined(IOS)}
7
  { @exclude }
8
  _LIB_FASTMATH = 'libfastmath-ios.a';
9
  { @exclude }
10
  _PREFIX = '';
11
  {$ELSEIF Defined(ANDROID64)}
12
  { @exclude }
13
  _LIB_FASTMATH = 'libfastmath-android-64.a';
14
  _PREFIX = '_';
15
  {$ELSEIF Defined(ANDROID)}
16
  {$IF (RTLVersion = 33)}
17
  { Delphi 10.3 uses Thumb mode. }
18
  { @exclude }
19
  _LIB_FASTMATH = 'libfastmath-android-32.a';
20
  {$ELSE}
21
  { Delphi 10.2 and earlier and Delphi 10.4 and later use ARM mode. }
22
  { @exclude }
23
  _LIB_FASTMATH = 'libfastmath-android-arm.a';
24
  {$ENDIF}
25
  { @exclude }
26
  _PREFIX = '_';
27
  {$ELSE}
28
    {$MESSAGE Error 'Unsupported ARM platform for FaseMath'}
29
  {$ENDIF}
30

31
{ @exclude }
32
function _radians_scalar(ADegrees: Single): Single;
33
  cdecl; external _LIB_FASTMATH name _PREFIX + 'radians_scalar';
34

35
{ @exclude }
36
procedure _radians_vector2(ADegrees, AResult: Pointer);
37
  cdecl; external _LIB_FASTMATH name _PREFIX + 'radians_vector2';
38

39
{ @exclude }
40
procedure _radians_vector3(ADegrees, AResult: Pointer);
41
  cdecl; external _LIB_FASTMATH name _PREFIX + 'radians_vector3';
42

43
{ @exclude }
44
procedure _radians_vector4(ADegrees, AResult: Pointer);
45
  cdecl; external _LIB_FASTMATH name _PREFIX + 'radians_vector4';
46

47
{ @exclude }
48
function _degrees_scalar(ADegrees: Single): Single;
49
  cdecl; external _LIB_FASTMATH name _PREFIX + 'degrees_scalar';
50

51
{ @exclude }
52
procedure _degrees_vector2(ARadians, AResult: Pointer);
53
  cdecl; external _LIB_FASTMATH name _PREFIX + 'degrees_vector2';
54

55
{ @exclude }
56
procedure _degrees_vector3(ARadians, AResult: Pointer);
57
  cdecl; external _LIB_FASTMATH name _PREFIX + 'degrees_vector3';
58

59
{ @exclude }
60
procedure _degrees_vector4(ARadians, AResult: Pointer);
61
  cdecl; external _LIB_FASTMATH name _PREFIX + 'degrees_vector4';
62

63
{ @exclude }
64
function _sqrt_scalar(A: Single): Single;
65
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sqrt_scalar';
66

67
{ @exclude }
68
procedure _sqrt_vector2(A, AResult: Pointer);
69
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sqrt_vector2';
70

71
{ @exclude }
72
procedure _sqrt_vector3(A, AResult: Pointer);
73
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sqrt_vector3';
74

75
{ @exclude }
76
procedure _sqrt_vector4(A, AResult: Pointer);
77
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sqrt_vector4';
78

79
{ @exclude }
80
function _inverse_sqrt_scalar(A: Single): Single;
81
  cdecl; external _LIB_FASTMATH name _PREFIX + 'inverse_sqrt_scalar';
82

83
{ @exclude }
84
procedure _inverse_sqrt_vector2(A, AResult: Pointer);
85
  cdecl; external _LIB_FASTMATH name _PREFIX + 'inverse_sqrt_vector2';
86

87
{ @exclude }
88
procedure _inverse_sqrt_vector3(A, AResult: Pointer);
89
  cdecl; external _LIB_FASTMATH name _PREFIX + 'inverse_sqrt_vector3';
90

91
{ @exclude }
92
procedure _inverse_sqrt_vector4(A, AResult: Pointer);
93
  cdecl; external _LIB_FASTMATH name _PREFIX + 'inverse_sqrt_vector4';
94

95
{ @exclude }
96
procedure _fast_sincos_scalar(A: Single; ASin, ACos: Pointer);
97
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_sincos_scalar';
98

99
{ @exclude }
100
procedure _fast_sincos_vector2(A, ASin, ACos: Pointer);
101
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_sincos_vector2';
102

103
{ @exclude }
104
procedure _fast_sincos_vector3(A, ASin, ACos: Pointer);
105
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_sincos_vector3';
106

107
{ @exclude }
108
procedure _fast_sincos_vector4(A, ASin, ACos: Pointer);
109
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_sincos_vector4';
110

111
{ @exclude }
112
function _fast_exp_scalar(A: Single): Single;
113
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp_scalar';
114

115
{ @exclude }
116
procedure _fast_exp_vector2(A, AResult: Pointer);
117
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp_vector2';
118

119
{ @exclude }
120
procedure _fast_exp_vector3(A, AResult: Pointer);
121
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp_vector3';
122

123
{ @exclude }
124
procedure _fast_exp_vector4(A, AResult: Pointer);
125
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp_vector4';
126

127
{ @exclude }
128
function _fast_ln_scalar(A: Single): Single;
129
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_ln_scalar';
130

131
{ @exclude }
132
procedure _fast_ln_vector2(A, AResult: Pointer);
133
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_ln_vector2';
134

135
{ @exclude }
136
procedure _fast_ln_vector3(A, AResult: Pointer);
137
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_ln_vector3';
138

139
{ @exclude }
140
procedure _fast_ln_vector4(A, AResult: Pointer);
141
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_ln_vector4';
142

143
{ @exclude }
144
function _fast_log2_scalar(A: Single): Single;
145
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_log2_scalar';
146

147
{ @exclude }
148
procedure _fast_log2_vector2(A, AResult: Pointer);
149
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_log2_vector2';
150

151
{ @exclude }
152
procedure _fast_log2_vector3(A, AResult: Pointer);
153
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_log2_vector3';
154

155
{ @exclude }
156
procedure _fast_log2_vector4(A, AResult: Pointer);
157
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_log2_vector4';
158

159
{ @exclude }
160
function _fast_exp2_scalar(A: Single): Single;
161
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp2_scalar';
162

163
{ @exclude }
164
procedure _fast_exp2_vector2(A, AResult: Pointer);
165
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp2_vector2';
166

167
{ @exclude }
168
procedure _fast_exp2_vector3(A, AResult: Pointer);
169
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp2_vector3';
170

171
{ @exclude }
172
procedure _fast_exp2_vector4(A, AResult: Pointer);
173
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fast_exp2_vector4';
174

175
{ @exclude }
176
function _abs_scalar(A: Single): Single;
177
  cdecl; external _LIB_FASTMATH name _PREFIX + 'abs_scalar';
178

179
{ @exclude }
180
procedure _abs_vector2(A, AResult: Pointer);
181
  cdecl; external _LIB_FASTMATH name _PREFIX + 'abs_vector2';
182

183
{ @exclude }
184
procedure _abs_vector3(A, AResult: Pointer);
185
  cdecl; external _LIB_FASTMATH name _PREFIX + 'abs_vector3';
186

187
{ @exclude }
188
procedure _abs_vector4(A, AResult: Pointer);
189
  cdecl; external _LIB_FASTMATH name _PREFIX + 'abs_vector4';
190

191
{ @exclude }
192
function _sign_scalar(A: Single): Single;
193
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sign_scalar';
194

195
{ @exclude }
196
procedure _sign_vector2(A, AResult: Pointer);
197
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sign_vector2';
198

199
{ @exclude }
200
procedure _sign_vector3(A, AResult: Pointer);
201
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sign_vector3';
202

203
{ @exclude }
204
procedure _sign_vector4(A, AResult: Pointer);
205
  cdecl; external _LIB_FASTMATH name _PREFIX + 'sign_vector4';
206

207
{ @exclude }
208
function _floor_scalar(A: Single): Integer;
209
  cdecl; external _LIB_FASTMATH name _PREFIX + 'floor_scalar';
210

211
{ @exclude }
212
procedure _floor_vector2(A, AResult: Pointer);
213
  cdecl; external _LIB_FASTMATH name _PREFIX + 'floor_vector2';
214

215
{ @exclude }
216
procedure _floor_vector3(A, AResult: Pointer);
217
  cdecl; external _LIB_FASTMATH name _PREFIX + 'floor_vector3';
218

219
{ @exclude }
220
procedure _floor_vector4(A, AResult: Pointer);
221
  cdecl; external _LIB_FASTMATH name _PREFIX + 'floor_vector4';
222

223
{ @exclude }
224
function _trunc_scalar(A: Single): Integer;
225
  cdecl; external _LIB_FASTMATH name _PREFIX + 'trunc_scalar';
226

227
{ @exclude }
228
procedure _trunc_vector2(A, AResult: Pointer);
229
  cdecl; external _LIB_FASTMATH name _PREFIX + 'trunc_vector2';
230

231
{ @exclude }
232
procedure _trunc_vector3(A, AResult: Pointer);
233
  cdecl; external _LIB_FASTMATH name _PREFIX + 'trunc_vector3';
234

235
{ @exclude }
236
procedure _trunc_vector4(A, AResult: Pointer);
237
  cdecl; external _LIB_FASTMATH name _PREFIX + 'trunc_vector4';
238

239
{ @exclude }
240
function _round_scalar(A: Single): Integer;
241
  cdecl; external _LIB_FASTMATH name _PREFIX + 'round_scalar';
242

243
{ @exclude }
244
procedure _round_vector2(A, AResult: Pointer);
245
  cdecl; external _LIB_FASTMATH name _PREFIX + 'round_vector2';
246

247
{ @exclude }
248
procedure _round_vector3(A, AResult: Pointer);
249
  cdecl; external _LIB_FASTMATH name _PREFIX + 'round_vector3';
250

251
{ @exclude }
252
procedure _round_vector4(A, AResult: Pointer);
253
  cdecl; external _LIB_FASTMATH name _PREFIX + 'round_vector4';
254

255
{ @exclude }
256
function _ceil_scalar(A: Single): Integer;
257
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ceil_scalar';
258

259
{ @exclude }
260
procedure _ceil_vector2(A, AResult: Pointer);
261
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ceil_vector2';
262

263
{ @exclude }
264
procedure _ceil_vector3(A, AResult: Pointer);
265
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ceil_vector3';
266

267
{ @exclude }
268
procedure _ceil_vector4(A, AResult: Pointer);
269
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ceil_vector4';
270

271
{ @exclude }
272
function _frac_scalar(A: Single): Single;
273
  cdecl; external _LIB_FASTMATH name _PREFIX + 'frac_scalar';
274

275
{ @exclude }
276
procedure _frac_vector2(A, AResult: Pointer);
277
  cdecl; external _LIB_FASTMATH name _PREFIX + 'frac_vector2';
278

279
{ @exclude }
280
procedure _frac_vector3(A, AResult: Pointer);
281
  cdecl; external _LIB_FASTMATH name _PREFIX + 'frac_vector3';
282

283
{ @exclude }
284
procedure _frac_vector4(A, AResult: Pointer);
285
  cdecl; external _LIB_FASTMATH name _PREFIX + 'frac_vector4';
286

287
{ @exclude }
288
function _fmod_scalar(A, B: Single): Single;
289
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fmod_scalar';
290

291
{ @exclude }
292
procedure _fmod_vector2(A, B, AResult: Pointer);
293
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fmod_vector2';
294

295
{ @exclude }
296
procedure _fmod_vector3(A, B, AResult: Pointer);
297
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fmod_vector3';
298

299
{ @exclude }
300
procedure _fmod_vector4(A, B, AResult: Pointer);
301
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fmod_vector4';
302

303
{ @exclude }
304
procedure _fmod_vector2_scalar(A: Pointer; B: Single; AResult: Pointer);
305
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fmod_vector2_scalar';
306

307
{ @exclude }
308
procedure _fmod_vector3_scalar(A: Pointer; B: Single; AResult: Pointer);
309
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fmod_vector3_scalar';
310

311
{ @exclude }
312
procedure _fmod_vector4_scalar(A: Pointer; B: Single; AResult: Pointer);
313
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fmod_vector4_scalar';
314

315
{ @exclude }
316
function _modf_scalar(A: Single; B: Pointer): Single;
317
  cdecl; external _LIB_FASTMATH name _PREFIX + 'modf_scalar';
318

319
{ @exclude }
320
procedure _modf_vector2(A, B, AResult: Pointer);
321
  cdecl; external _LIB_FASTMATH name _PREFIX + 'modf_vector2';
322

323
{ @exclude }
324
procedure _modf_vector3(A, B, AResult: Pointer);
325
  cdecl; external _LIB_FASTMATH name _PREFIX + 'modf_vector3';
326

327
{ @exclude }
328
procedure _modf_vector4(A, B, AResult: Pointer);
329
  cdecl; external _LIB_FASTMATH name _PREFIX + 'modf_vector4';
330

331
{ @exclude }
332
procedure _min_vector2(A, B, AResult: Pointer);
333
  cdecl; external _LIB_FASTMATH name _PREFIX + 'min_vector2';
334

335
{ @exclude }
336
procedure _min_vector2_scalar(A: Pointer; B: Single; AResult: Pointer);
337
  cdecl; external _LIB_FASTMATH name _PREFIX + 'min_vector2_scalar';
338

339
{ @exclude }
340
procedure _min_vector3(A, B, AResult: Pointer);
341
  cdecl; external _LIB_FASTMATH name _PREFIX + 'min_vector3';
342

343
{ @exclude }
344
procedure _min_vector3_scalar(A: Pointer; B: Single; AResult: Pointer);
345
  cdecl; external _LIB_FASTMATH name _PREFIX + 'min_vector3_scalar';
346

347
{ @exclude }
348
procedure _min_vector4(A, B, AResult: Pointer);
349
  cdecl; external _LIB_FASTMATH name _PREFIX + 'min_vector4';
350

351
{ @exclude }
352
procedure _min_vector4_scalar(A: Pointer; B: Single; AResult: Pointer);
353
  cdecl; external _LIB_FASTMATH name _PREFIX + 'min_vector4_scalar';
354

355
{ @exclude }
356
procedure _max_vector2(A, B, AResult: Pointer);
357
  cdecl; external _LIB_FASTMATH name _PREFIX + 'max_vector2';
358

359
{ @exclude }
360
procedure _max_vector2_scalar(A: Pointer; B: Single; AResult: Pointer);
361
  cdecl; external _LIB_FASTMATH name _PREFIX + 'max_vector2_scalar';
362

363
{ @exclude }
364
procedure _max_vector3(A, B, AResult: Pointer);
365
  cdecl; external _LIB_FASTMATH name _PREFIX + 'max_vector3';
366

367
{ @exclude }
368
procedure _max_vector3_scalar(A: Pointer; B: Single; AResult: Pointer);
369
  cdecl; external _LIB_FASTMATH name _PREFIX + 'max_vector3_scalar';
370

371
{ @exclude }
372
procedure _max_vector4(A, B, AResult: Pointer);
373
  cdecl; external _LIB_FASTMATH name _PREFIX + 'max_vector4';
374

375
{ @exclude }
376
procedure _max_vector4_scalar(A: Pointer; B: Single; AResult: Pointer);
377
  cdecl; external _LIB_FASTMATH name _PREFIX + 'max_vector4_scalar';
378

379
{ @exclude }
380
function _ensure_range_scalar(A, AMin, AMax: Single): Single;
381
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ensure_range_scalar';
382

383
{ @exclude }
384
procedure _ensure_range_vector2(A, AMin, AMax, AResult: Pointer);
385
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ensure_range_vector2';
386

387
{ @exclude }
388
procedure _ensure_range_vector2_scalar(A: Pointer; AMin, AMax: Single; AResult: Pointer);
389
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ensure_range_vector2_scalar';
390

391
{ @exclude }
392
procedure _ensure_range_vector3(A, AMin, AMax, AResult: Pointer);
393
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ensure_range_vector3';
394

395
{ @exclude }
396
procedure _ensure_range_vector3_scalar(A: Pointer; AMin, AMax: Single; AResult: Pointer);
397
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ensure_range_vector3_scalar';
398

399
{ @exclude }
400
procedure _ensure_range_vector4(A, AMin, AMax, AResult: Pointer);
401
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ensure_range_vector4';
402

403
{ @exclude }
404
procedure _ensure_range_vector4_scalar(A: Pointer; AMin, AMax: Single; AResult: Pointer);
405
  cdecl; external _LIB_FASTMATH name _PREFIX + 'ensure_range_vector4_scalar';
406

407
{ @exclude }
408
procedure _mix_vector2(A, B, T, AResult: Pointer);
409
  cdecl; external _LIB_FASTMATH name _PREFIX + 'mix_vector2';
410

411
{ @exclude }
412
procedure _mix_vector2_scalar(A, B: Pointer; T: Single; AResult: Pointer);
413
  cdecl; external _LIB_FASTMATH name _PREFIX + 'mix_vector2_scalar';
414

415
{ @exclude }
416
procedure _mix_vector3(A, B, T, AResult: Pointer);
417
  cdecl; external _LIB_FASTMATH name _PREFIX + 'mix_vector3';
418

419
{ @exclude }
420
procedure _mix_vector3_scalar(A, B: Pointer; T: Single; AResult: Pointer);
421
  cdecl; external _LIB_FASTMATH name _PREFIX + 'mix_vector3_scalar';
422

423
{ @exclude }
424
procedure _mix_vector4(A, B, T, AResult: Pointer);
425
  cdecl; external _LIB_FASTMATH name _PREFIX + 'mix_vector4';
426

427
{ @exclude }
428
procedure _mix_vector4_scalar(A, B: Pointer; T: Single; AResult: Pointer);
429
  cdecl; external _LIB_FASTMATH name _PREFIX + 'mix_vector4_scalar';
430

431
{ @exclude }
432
procedure _step_vector2(AEdge, A, AResult: Pointer);
433
  cdecl; external _LIB_FASTMATH name _PREFIX + 'step_vector2';
434

435
{ @exclude }
436
procedure _step_scalar_vector2(AEdge: Single; A, AResult: Pointer);
437
  cdecl; external _LIB_FASTMATH name _PREFIX + 'step_scalar_vector2';
438

439
{ @exclude }
440
procedure _step_vector3(AEdge, A, AResult: Pointer);
441
  cdecl; external _LIB_FASTMATH name _PREFIX + 'step_vector3';
442

443
{ @exclude }
444
procedure _step_scalar_vector3(AEdge: Single; A, AResult: Pointer);
445
  cdecl; external _LIB_FASTMATH name _PREFIX + 'step_scalar_vector3';
446

447
{ @exclude }
448
procedure _step_vector4(AEdge, A, AResult: Pointer);
449
  cdecl; external _LIB_FASTMATH name _PREFIX + 'step_vector4';
450

451
{ @exclude }
452
procedure _step_scalar_vector4(AEdge: Single; A, AResult: Pointer);
453
  cdecl; external _LIB_FASTMATH name _PREFIX + 'step_scalar_vector4';
454

455
{ @exclude }
456
procedure _smoothstep_vector2(AEdge0, AEdge1, A, AResult: Pointer);
457
  cdecl; external _LIB_FASTMATH name _PREFIX + 'smoothstep_vector2';
458

459
{ @exclude }
460
procedure _smoothstep_scalar_vector2(AEdge0, AEdge1: Single; A, AResult: Pointer);
461
  cdecl; external _LIB_FASTMATH name _PREFIX + 'smoothstep_scalar_vector2';
462

463
{ @exclude }
464
procedure _smoothstep_vector3(AEdge0, AEdge1, A, AResult: Pointer);
465
  cdecl; external _LIB_FASTMATH name _PREFIX + 'smoothstep_vector3';
466

467
{ @exclude }
468
procedure _smoothstep_scalar_vector3(AEdge0, AEdge1: Single; A, AResult: Pointer);
469
  cdecl; external _LIB_FASTMATH name _PREFIX + 'smoothstep_scalar_vector3';
470

471
{ @exclude }
472
procedure _smoothstep_vector4(AEdge0, AEdge1, A, AResult: Pointer);
473
  cdecl; external _LIB_FASTMATH name _PREFIX + 'smoothstep_vector4';
474

475
{ @exclude }
476
procedure _smoothstep_scalar_vector4(AEdge0, AEdge1: Single; A, AResult: Pointer);
477
  cdecl; external _LIB_FASTMATH name _PREFIX + 'smoothstep_scalar_vector4';
478

479
{ @exclude }
480
procedure _fma_vector2(A, B, C, AResult: Pointer);
481
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fma_vector2';
482

483
{ @exclude }
484
procedure _fma_vector3(A, B, C, AResult: Pointer);
485
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fma_vector3';
486

487
{ @exclude }
488
procedure _fma_vector4(A, B, C, AResult: Pointer);
489
  cdecl; external _LIB_FASTMATH name _PREFIX + 'fma_vector4';
490

491
{ @exclude }
492
function _vector2_length(A: Pointer): Single;
493
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_length';
494

495
{ @exclude }
496
function _vector3_length(A: Pointer): Single;
497
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_length';
498

499
{ @exclude }
500
function _vector4_length(A: Pointer): Single;
501
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_length';
502

503
{ @exclude }
504
function _vector2_distance(A, B: Pointer): Single;
505
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_distance';
506

507
{ @exclude }
508
function _vector3_distance(A, B: Pointer): Single;
509
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_distance';
510

511
{ @exclude }
512
function _vector4_distance(A, B: Pointer): Single;
513
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_distance';
514

515
{ @exclude }
516
function _vector2_distance_squared(A, B: Pointer): Single;
517
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_distance_squared';
518

519
{ @exclude }
520
function _vector3_distance_squared(A, B: Pointer): Single;
521
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_distance_squared';
522

523
{ @exclude }
524
function _vector4_distance_squared(A, B: Pointer): Single;
525
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_distance_squared';
526

527
{ @exclude }
528
function _vector2_dot(A, B: Pointer): Single;
529
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_dot';
530

531
{ @exclude }
532
function _vector3_dot(A, B: Pointer): Single;
533
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_dot';
534

535
{ @exclude }
536
function _vector4_dot(A, B: Pointer): Single;
537
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_dot';
538

539
{ @exclude }
540
procedure _vector3_cross(A, B, AResult: Pointer);
541
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_cross';
542

543
{ @exclude }
544
procedure _vector2_normalize_fast(A, AResult: Pointer);
545
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_normalize';
546

547
{ @exclude }
548
procedure _vector3_normalize_fast(A, AResult: Pointer);
549
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_normalize';
550

551
{ @exclude }
552
procedure _vector4_normalize_fast(A, AResult: Pointer);
553
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_normalize';
554

555
{ @exclude }
556
procedure _vector2_faceforward(N, I, NRef, AResult: Pointer);
557
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_faceforward';
558

559
{ @exclude }
560
procedure _vector3_faceforward(N, I, NRef, AResult: Pointer);
561
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_faceforward';
562

563
{ @exclude }
564
procedure _vector4_faceforward(N, I, NRef, AResult: Pointer);
565
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_faceforward';
566

567
{ @exclude }
568
procedure _vector2_reflect(I, N, AResult: Pointer);
569
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_reflect';
570

571
{ @exclude }
572
procedure _vector3_reflect(I, N, AResult: Pointer);
573
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_reflect';
574

575
{ @exclude }
576
procedure _vector4_reflect(I, N, AResult: Pointer);
577
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_reflect';
578

579
{ @exclude }
580
procedure _vector2_refract(I, N: Pointer; Eta: Single; AResult: Pointer);
581
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_refract';
582

583
{ @exclude }
584
procedure _vector3_refract(I, N: Pointer; Eta: Single; AResult: Pointer);
585
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_refract';
586

587
{ @exclude }
588
procedure _vector4_refract(I, N: Pointer; Eta: Single; AResult: Pointer);
589
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_refract';
590

591
{ @exclude }
592
procedure _matrix2_comp_mult(A, B, AResult: Pointer);
593
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_comp_mult';
594

595
{ @exclude }
596
procedure _matrix3_comp_mult(A, B, AResult: Pointer);
597
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_comp_mult';
598

599
{ @exclude }
600
procedure _matrix4_comp_mult(A, B, AResult: Pointer);
601
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_comp_mult';
602

603
{ @exclude }
604
procedure _outer_product_matrix2(C, R, AResult: Pointer);
605
  cdecl; external _LIB_FASTMATH name _PREFIX + 'outer_product_matrix2';
606

607
{ @exclude }
608
procedure _outer_product_matrix3(C, R, AResult: Pointer);
609
  cdecl; external _LIB_FASTMATH name _PREFIX + 'outer_product_matrix3';
610

611
{ @exclude }
612
procedure _outer_product_matrix4(C, R, AResult: Pointer);
613
  cdecl; external _LIB_FASTMATH name _PREFIX + 'outer_product_matrix4';
614

615
{ @exclude }
616
procedure _matrix2_transpose(A, AResult: Pointer);
617
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_transpose';
618

619
{ @exclude }
620
procedure _matrix3_transpose(A, AResult: Pointer);
621
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_transpose';
622

623
{ @exclude }
624
procedure _matrix4_transpose(A, AResult: Pointer);
625
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_transpose';
626

627
{ @exclude }
628
procedure _matrix4_inverse(A, AResult: Pointer);
629
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_inverse';
630

631
{ @exclude }
632
procedure _vector2_add_scalar(A: Pointer; B: Single; AResult: Pointer);
633
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_add_scalar';
634

635
{ @exclude }
636
procedure _scalar_add_vector2(A: Single; B, AResult: Pointer);
637
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_add_vector2';
638

639
{ @exclude }
640
procedure _vector2_add_vector2(A, B, AResult: Pointer);
641
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_add_vector2';
642

643
{ @exclude }
644
procedure _vector2_sub_scalar(A: Pointer; B: Single; AResult: Pointer);
645
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_sub_scalar';
646

647
{ @exclude }
648
procedure _scalar_sub_vector2(A: Single; B, AResult: Pointer);
649
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_sub_vector2';
650

651
{ @exclude }
652
procedure _vector2_sub_vector2(A, B, AResult: Pointer);
653
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_sub_vector2';
654

655
{ @exclude }
656
procedure _vector2_mul_scalar(A: Pointer; B: Single; AResult: Pointer);
657
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_mul_scalar';
658

659
{ @exclude }
660
procedure _scalar_mul_vector2(A: Single; B, AResult: Pointer);
661
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_mul_vector2';
662

663
{ @exclude }
664
procedure _vector2_mul_vector2(A, B, AResult: Pointer);
665
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_mul_vector2';
666

667
{ @exclude }
668
procedure _vector2_div_scalar(A: Pointer; B: Single; AResult: Pointer);
669
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_div_scalar';
670

671
{ @exclude }
672
procedure _scalar_div_vector2(A: Single; B, AResult: Pointer);
673
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_div_vector2';
674

675
{ @exclude }
676
procedure _vector2_div_vector2(A, B, AResult: Pointer);
677
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_div_vector2';
678

679
{ @exclude }
680
procedure _neg_vector3(A, AResult: Pointer);
681
  cdecl; external _LIB_FASTMATH name _PREFIX + 'neg_vector3';
682

683
{ @exclude }
684
procedure _neg_vector4(A, AResult: Pointer);
685
  cdecl; external _LIB_FASTMATH name _PREFIX + 'neg_vector4';
686

687
{ @exclude }
688
procedure _vector3_add_scalar(A: Pointer; B: Single; AResult: Pointer);
689
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_add_scalar';
690

691
{ @exclude }
692
procedure _vector4_add_scalar(A: Pointer; B: Single; AResult: Pointer);
693
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_add_scalar';
694

695
{ @exclude }
696
procedure _scalar_add_vector3(A: Single; B, AResult: Pointer);
697
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_add_vector3';
698

699
{ @exclude }
700
procedure _scalar_add_vector4(A: Single; B, AResult: Pointer);
701
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_add_vector4';
702

703
{ @exclude }
704
procedure _vector3_add_vector3(A, B, AResult: Pointer);
705
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_add_vector3';
706

707
{ @exclude }
708
procedure _vector4_add_vector4(A, B, AResult: Pointer);
709
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_add_vector4';
710

711
{ @exclude }
712
procedure _vector3_sub_scalar(A: Pointer; B: Single; AResult: Pointer);
713
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_sub_scalar';
714

715
{ @exclude }
716
procedure _vector4_sub_scalar(A: Pointer; B: Single; AResult: Pointer);
717
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_sub_scalar';
718

719
{ @exclude }
720
procedure _scalar_sub_vector3(A: Single; B, AResult: Pointer);
721
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_sub_vector3';
722

723
{ @exclude }
724
procedure _scalar_sub_vector4(A: Single; B, AResult: Pointer);
725
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_sub_vector4';
726

727
{ @exclude }
728
procedure _vector3_sub_vector3(A, B, AResult: Pointer);
729
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_sub_vector3';
730

731
{ @exclude }
732
procedure _vector4_sub_vector4(A, B, AResult: Pointer);
733
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_sub_vector4';
734

735
{ @exclude }
736
procedure _vector3_mul_scalar(A: Pointer; B: Single; AResult: Pointer);
737
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_mul_scalar';
738

739
{ @exclude }
740
procedure _vector4_mul_scalar(A: Pointer; B: Single; AResult: Pointer);
741
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_mul_scalar';
742

743
{ @exclude }
744
procedure _scalar_mul_vector3(A: Single; B, AResult: Pointer);
745
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_mul_vector3';
746

747
{ @exclude }
748
procedure _scalar_mul_vector4(A: Single; B, AResult: Pointer);
749
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_mul_vector4';
750

751
{ @exclude }
752
procedure _vector3_mul_vector3(A, B, AResult: Pointer);
753
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_mul_vector3';
754

755
{ @exclude }
756
procedure _vector4_mul_vector4(A, B, AResult: Pointer);
757
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_mul_vector4';
758

759
{ @exclude }
760
procedure _vector3_div_scalar(A: Pointer; B: Single; AResult: Pointer);
761
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_div_scalar';
762

763
{ @exclude }
764
procedure _vector4_div_scalar(A: Pointer; B: Single; AResult: Pointer);
765
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_div_scalar';
766

767
{ @exclude }
768
procedure _scalar_div_vector3(A: Single; B, AResult: Pointer);
769
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_div_vector3';
770

771
{ @exclude }
772
procedure _scalar_div_vector4(A: Single; B, AResult: Pointer);
773
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_div_vector4';
774

775
{ @exclude }
776
procedure _vector3_div_vector3(A, B, AResult: Pointer);
777
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_div_vector3';
778

779
{ @exclude }
780
procedure _vector4_div_vector4(A, B, AResult: Pointer);
781
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_div_vector4';
782

783
{ @exclude }
784
procedure _neg_matrix2(A, AResult: Pointer);
785
  cdecl; external _LIB_FASTMATH name _PREFIX + 'neg_matrix2';
786

787
{ @exclude }
788
procedure _matrix2_add_scalar(A: Pointer; B: Single; AResult: Pointer);
789
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_add_scalar';
790

791
{ @exclude }
792
procedure _scalar_add_matrix2(A: Single; B, AResult: Pointer);
793
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_add_matrix2';
794

795
{ @exclude }
796
procedure _matrix2_add_matrix2(A, B, AResult: Pointer);
797
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_add_matrix2';
798

799
{ @exclude }
800
procedure _matrix2_sub_scalar(A: Pointer; B: Single; AResult: Pointer);
801
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_sub_scalar';
802

803
{ @exclude }
804
procedure _scalar_sub_matrix2(A: Single; B, AResult: Pointer);
805
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_sub_matrix2';
806

807
{ @exclude }
808
procedure _matrix2_sub_matrix2(A, B, AResult: Pointer);
809
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_sub_matrix2';
810

811
{ @exclude }
812
procedure _matrix2_mul_scalar(A: Pointer; B: Single; AResult: Pointer);
813
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_mul_scalar';
814

815
{ @exclude }
816
procedure _scalar_mul_matrix2(A: Single; B, AResult: Pointer);
817
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_mul_matrix2';
818

819
{ @exclude }
820
procedure _vector2_mul_matrix2(A, B, AResult: Pointer);
821
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector2_mul_matrix2';
822

823
{ @exclude }
824
procedure _matrix2_mul_vector2(A, B, AResult: Pointer);
825
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_mul_vector2';
826

827
{ @exclude }
828
procedure _matrix2_mul_matrix2(A, B, AResult: Pointer);
829
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_mul_matrix2';
830

831
{ @exclude }
832
procedure _matrix2_div_scalar(A: Pointer; B: Single; AResult: Pointer);
833
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix2_div_scalar';
834

835
{ @exclude }
836
procedure _scalar_div_matrix2(A: Single; B, AResult: Pointer);
837
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_div_matrix2';
838

839
{ @exclude }
840
procedure _neg_matrix3(A, AResult: Pointer);
841
  cdecl; external _LIB_FASTMATH name _PREFIX + 'neg_matrix3';
842

843
{ @exclude }
844
procedure _matrix3_add_scalar(A: Pointer; B: Single; AResult: Pointer);
845
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_add_scalar';
846

847
{ @exclude }
848
procedure _scalar_add_matrix3(A: Single; B, AResult: Pointer);
849
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_add_matrix3';
850

851
{ @exclude }
852
procedure _matrix3_add_matrix3(A, B, AResult: Pointer);
853
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_add_matrix3';
854

855
{ @exclude }
856
procedure _matrix3_sub_scalar(A: Pointer; B: Single; AResult: Pointer);
857
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_sub_scalar';
858

859
{ @exclude }
860
procedure _scalar_sub_matrix3(A: Single; B, AResult: Pointer);
861
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_sub_matrix3';
862

863
{ @exclude }
864
procedure _matrix3_sub_matrix3(A, B, AResult: Pointer);
865
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_sub_matrix3';
866

867
{ @exclude }
868
procedure _matrix3_mul_scalar(A: Pointer; B: Single; AResult: Pointer);
869
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_mul_scalar';
870

871
{ @exclude }
872
procedure _scalar_mul_matrix3(A: Single; B, AResult: Pointer);
873
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_mul_matrix3';
874

875
{ @exclude }
876
procedure _vector3_mul_matrix3(A, B, AResult: Pointer);
877
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector3_mul_matrix3';
878

879
{ @exclude }
880
procedure _matrix3_mul_vector3(A, B, AResult: Pointer);
881
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_mul_vector3';
882

883
{ @exclude }
884
procedure _matrix3_mul_matrix3(A, B, AResult: Pointer);
885
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_mul_matrix3';
886

887
{ @exclude }
888
procedure _matrix3_div_scalar(A: Pointer; B: Single; AResult: Pointer);
889
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix3_div_scalar';
890

891
{ @exclude }
892
procedure _scalar_div_matrix3(A: Single; B, AResult: Pointer);
893
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_div_matrix3';
894

895
{ @exclude }
896
procedure _neg_matrix4(A, AResult: Pointer);
897
  cdecl; external _LIB_FASTMATH name _PREFIX + 'neg_matrix4';
898

899
{ @exclude }
900
procedure _matrix4_add_scalar(A: Pointer; B: Single; AResult: Pointer);
901
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_add_scalar';
902

903
{ @exclude }
904
procedure _scalar_add_matrix4(A: Single; B, AResult: Pointer);
905
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_add_matrix4';
906

907
{ @exclude }
908
procedure _matrix4_add_matrix4(A, B, AResult: Pointer);
909
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_add_matrix4';
910

911
{ @exclude }
912
procedure _matrix4_sub_scalar(A: Pointer; B: Single; AResult: Pointer);
913
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_sub_scalar';
914

915
{ @exclude }
916
procedure _scalar_sub_matrix4(A: Single; B, AResult: Pointer);
917
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_sub_matrix4';
918

919
{ @exclude }
920
procedure _matrix4_sub_matrix4(A, B, AResult: Pointer);
921
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_sub_matrix4';
922

923
{ @exclude }
924
procedure _matrix4_mul_scalar(A: Pointer; B: Single; AResult: Pointer);
925
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_mul_scalar';
926

927
{ @exclude }
928
procedure _scalar_mul_matrix4(A: Single; B, AResult: Pointer);
929
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_mul_matrix4';
930

931
{ @exclude }
932
procedure _vector4_mul_matrix4(A, B, AResult: Pointer);
933
  cdecl; external _LIB_FASTMATH name _PREFIX + 'vector4_mul_matrix4';
934

935
{ @exclude }
936
procedure _matrix4_mul_vector4(A, B, AResult: Pointer);
937
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_mul_vector4';
938

939
{ @exclude }
940
procedure _matrix4_mul_matrix4(A, B, AResult: Pointer);
941
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_mul_matrix4';
942

943
{ @exclude }
944
procedure _matrix4_div_scalar(A: Pointer; B: Single; AResult: Pointer);
945
  cdecl; external _LIB_FASTMATH name _PREFIX + 'matrix4_div_scalar';
946

947
{ @exclude }
948
procedure _scalar_div_matrix4(A: Single; B, AResult: Pointer);
949
  cdecl; external _LIB_FASTMATH name _PREFIX + 'scalar_div_matrix4';
950
{$ENDIF FM_ARM}
951

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

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

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

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