~ubuntu-branches/ubuntu/feisty/fpc/feisty

« back to all changes in this revision

Viewing changes to fpcdocs/math.xml

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2007-01-27 20:08:50 UTC
  • mfrom: (1.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070127200850-9mrptaqqjsx9nwa7
Tags: 2.0.4-5
* Fixed Build-Depends.
* Add myself to Uploaders in debian/control.
* Make sure that the sources are really patched before building them.
* Build unit 'libc' on powerpc too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="ISO8859-1"?>
 
2
<fpdoc-descriptions>
 
3
<!--  
 
4
 
 
5
   $Id: math.xml,v 1.4 2005/04/29 07:57:29 michael Exp $ 
 
6
   This file is part of the FPC documentation. 
 
7
   Copyright (C) 1997, by Michael Van Canneyt 
 
8
 
 
9
   The FPC documentation is free text; you can redistribute it and/or 
 
10
   modify it under the terms of the GNU Library General Public License as 
 
11
   published by the Free Software Foundation; either version 2 of the 
 
12
   License, or (at your option) any later version. 
 
13
 
 
14
   The FPC Documentation is distributed in the hope that it will be useful, 
 
15
   but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
16
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
 
17
   Library General Public License for more details. 
 
18
 
 
19
   You should have received a copy of the GNU Library General Public 
 
20
   License along with the FPC documentation; see the file COPYING.LIB.  If not, 
 
21
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
 
22
   Boston, MA 02111-1307, USA. 
 
23
 -->
 
24
<package name="rtl">
 
25
<module name="math">
 
26
<short>Additional mathematical routines.</short>
 
27
<!-- \FPCexampledir{mathex} -->
 
28
<descr>
 
29
<p>
 
30
This document describes the <file>math</file> unit. The <var>math</var> unit
 
31
was initially written by Florian Klaempfl. It provides mathematical
 
32
functions which aren't covered by the system unit.
 
33
</p>
 
34
<p>
 
35
This chapter starts out with a definition of all types and constants
 
36
that are defined, after which an overview is presented of the available 
 
37
functions, grouped by category, and the last part contains a 
 
38
complete explanation of each function.
 
39
</p>
 
40
<p>
 
41
The following things must be taken into account when using this unit:
 
42
</p>
 
43
<ol>
 
44
<li>This unit is compiled in Object Pascal mode so all <var>integers</var> are 32 bit.</li>
 
45
<li> Some overloaded functions exist for data arrays of integers and
 
46
floats. When using the address operator (<var>@</var>) to pass an array of 
 
47
data to such a function, make sure the address is typecasted to the 
 
48
right type, or turn on the 'typed address operator' feature. failing to
 
49
do so, will cause the compiler not be able to decide which function you 
 
50
want to call.
 
51
</li>
 
52
</ol>
 
53
</descr>
 
54
 
 
55
<topic name="MinMaxRoutines">
 
56
<short>Min/max determination</short>
 
57
<descr>
 
58
<p>
 
59
Functions to determine the minimum or maximum of numbers:
 
60
</p>
 
61
<table>
 
62
<th><td>Name</td><td>Description</td></th>
 
63
<tr><td><link id="max"/></td><td>Maximum of 2 values</td></tr>
 
64
<tr><td><link id="maxIntValue"/></td><td>Maximum of an array of integer values</td></tr>
 
65
<tr><td><link id="maxvalue"/></td><td>Maximum of an array of values</td></tr>
 
66
<tr><td><link id="min"/></td><td>Minimum of 2 values</td></tr>
 
67
<tr><td><link id="minIntValue"/></td><td>Minimum of an array of integer values</td></tr>
 
68
<tr><td><link id="minvalue"/></td><td>Minimum of an array of values</td></tr>
 
69
</table>
 
70
</descr>
 
71
</topic>
 
72
 
 
73
<topic name="AngleConversionRoutines">
 
74
<short>Angle unit conversion</short>
 
75
<descr>
 
76
<p>
 
77
Routines to convert angles between different angle units.
 
78
</p>
 
79
<table>
 
80
<th><td>Name</td><td>Description</td></th>
 
81
<tr><td><link id="cycletorad"/></td><td>convert cycles to radians</td></tr>
 
82
<tr><td><link id="degtograd"/></td><td>convert degrees to grads</td></tr>
 
83
<tr><td><link id="degtorad"/></td><td>convert degrees to radians</td></tr>
 
84
<tr><td><link id="gradtodeg"/></td><td>convert grads to degrees</td></tr>
 
85
<tr><td><link id="gradtorad"/></td><td>convert grads to radians</td></tr>
 
86
<tr><td><link id="radtocycle"/></td><td>convert radians to cycles</td></tr>
 
87
<tr><td><link id="radtodeg"/></td><td>convert radians to degrees</td></tr>
 
88
<tr><td><link id="radtograd"/></td><td>convert radians to grads</td></tr>
 
89
</table>
 
90
</descr>
 
91
</topic>
 
92
 
 
93
<topic name="TrigoniometricRoutines">
 
94
<short>Trigoniometric functions</short>
 
95
<descr>
 
96
<table>
 
97
<th><td>Name</td><td>Description</td></th>
 
98
<tr><td><link id="arccos"/></td><td>calculate reverse cosine</td></tr>
 
99
<tr><td><link id="arcsin"/></td><td>calculate reverse sine</td></tr>
 
100
<tr><td><link id="arctan2"/></td><td>calculate reverse tangent</td></tr>
 
101
<tr><td><link id="cotan"/></td><td>calculate cotangent</td></tr>
 
102
<tr><td><link id="sincos"/></td><td>calculate sine and cosine</td></tr>
 
103
<tr><td><link id="tan"/></td><td>calculate tangent</td></tr>
 
104
</table>
 
105
</descr>
 
106
</topic>
 
107
 
 
108
<topic name="HyperbolicRoutines">
 
109
<short>Hyperbolic functions</short>
 
110
<descr>
 
111
<table>
 
112
<th><td>Name</td><td>Description</td></th>
 
113
<tr><td><link id="arcosh"/></td><td>caculate reverse hyperbolic cosine</td></tr>
 
114
<tr><td><link id="arsinh"/></td><td>caculate reverse hyperbolic sine</td></tr>
 
115
<tr><td><link id="artanh"/></td><td>caculate reverse hyperbolic tangent</td></tr>
 
116
<tr><td><link id="cosh"/></td><td>calculate hyperbolic cosine</td></tr>
 
117
<tr><td><link id="sinh"/></td><td>calculate hyperbolic sine</td></tr>
 
118
<tr><td><link id="tanh"/></td><td>calculate hyperbolic tangent</td></tr>
 
119
</table>
 
120
</descr>
 
121
</topic>
 
122
 
 
123
<topic name="ExpLogRoutines">
 
124
<short>Exponential and logarithmic functions</short>
 
125
<descr>
 
126
<table>
 
127
<th><td>Name</td><td>Description</td></th>
 
128
<tr><td><link id="intpower"/></td><td>Raise float to integer power</td></tr>
 
129
<tr><td><link id="ldexp"/></td><td>Calculate $2^p x$</td></tr>
 
130
<tr><td><link id="lnxp1"/></td><td>calculate <var>log(x+1)</var></td></tr>
 
131
<tr><td><link id="log10"/></td><td>calculate 10-base log</td></tr>
 
132
<tr><td><link id="log2"/></td><td>calculate 2-base log</td></tr>
 
133
<tr><td><link id="logn"/></td><td>calculate N-base log</td></tr>
 
134
<tr><td><link id="power"/></td><td>raise float to arbitrary power</td></tr>
 
135
</table>
 
136
</descr>
 
137
</topic>
 
138
 
 
139
<topic name="NumberConversionRoutines">
 
140
<short>Number converting</short>
 
141
<descr>
 
142
<table>
 
143
<th><td>Name</td><td>Description</td></th>
 
144
<tr><td><link id="ceil"/></td><td>Round to infinity</td></tr>
 
145
<tr><td><link id="floor"/></td><td>Round to minus infinity</td></tr>
 
146
<tr><td><link id="frexp"/></td><td>Return mantissa and exponent</td></tr>
 
147
</table>
 
148
</descr>
 
149
</topic>
 
150
 
 
151
<topic name="StatisticalRoutines">
 
152
<short>Statistical functions</short>
 
153
<descr>
 
154
<table>
 
155
<th><td>Name</td><td>Description</td></th>
 
156
<tr><td><link id="mean"/></td><td>Mean of values</td></tr>
 
157
<tr><td><link id="meanandstddev"/></td><td>Mean and standard deviation of values</td></tr>
 
158
<tr><td><link id="momentskewkurtosis"/></td><td>Moments, skew and kurtosis</td></tr>
 
159
<tr><td><link id="popnstddev"/></td><td>Population standarddeviation </td></tr>
 
160
<tr><td><link id="popnvariance"/></td><td>Population variance</td></tr>
 
161
<tr><td><link id="randg"/></td><td>Gaussian distributed randum value</td></tr>
 
162
<tr><td><link id="stddev"/></td><td>Standard deviation</td></tr>
 
163
<tr><td><link id="sum"/></td><td>Sum of values</td></tr>
 
164
<tr><td><link id="sumofsquares"/></td><td>Sum of squared values</td></tr>
 
165
<tr><td><link id="sumsandsquares"/></td><td>Sum of values and squared values</td></tr>
 
166
<tr><td><link id="totalvariance"/></td><td>Total variance of values</td></tr>
 
167
<tr><td><link id="variance"/></td><td>variance of values</td></tr>
 
168
</table>
 
169
</descr>
 
170
</topic>
 
171
 
 
172
<topic name="GeometricalRoutines">
 
173
<short>Geometrical functions</short>
 
174
<descr>
 
175
<table>
 
176
<th><td>Name</td><td>Description</td></th>
 
177
<tr><td><link id="hypot"/></td><td>Hypotenuse of triangle</td></tr>
 
178
<tr><td><link id="norm"/></td><td>Euclidian norm</td></tr>
 
179
</table>
 
180
</descr>
 
181
</topic>
 
182
 
 
183
<element name="Float">
 
184
<short>Float type used in all calls</short>
 
185
<descr>
 
186
All calculations are done with the Float type. This allows to
 
187
recompile the unit with a different float type to obtain a
 
188
desired precision. The pointer type <link id="PFloat"/>
 
189
is used in functions that accept an array of values of arbitrary length.
 
190
</descr>
 
191
</element>
 
192
 
 
193
<element name="PFloat">
 
194
<short>Pointer to <link id="Float"/> type.</short>
 
195
</element>
 
196
 
 
197
<element name="TPaymentTime">
 
198
<short>Type used in financial (interest) calculations.</short>
 
199
</element>
 
200
<element name="TPaymentTime.PTEndOfPeriod">
 
201
<short>End of period.</short>
 
202
</element>
 
203
<element name="TPaymentTime.PTStartOfPeriod">
 
204
<short>Start of period.</short>
 
205
</element>
 
206
 
 
207
<element name="EInvalidArgument">
 
208
<short>Exception raised when invalid arguments are passed to a function.</short>
 
209
</element>
 
210
 
 
211
<element name="arccos">
 
212
<short>Return inverse cosine</short>
 
213
<descr>
 
214
<var>Arccos</var> returns the inverse cosine of its argument <var>x</var>. The
 
215
argument <var>x</var> should lie between -1 and 1 (borders included). 
 
216
</descr>
 
217
<errors>
 
218
If the argument <var>x</var> is not in the allowed range, an
 
219
<var>EInvalidArgument</var> exception is raised.
 
220
</errors>
 
221
<seealso>
 
222
<link id="arcsin"/>
 
223
<link id="arcosh"/>
 
224
<link id="arsinh"/>
 
225
<link id="artanh"/>
 
226
</seealso>
 
227
<example file="mathex/ex1"/>
 
228
</element>
 
229
 
 
230
<element name="arcosh">
 
231
<short>Return inverse hyperbolic cosine</short>
 
232
<descr>
 
233
<var>Arcosh</var> returns the inverse hyperbolic cosine of its argument <var>x</var>. 
 
234
The argument <var>x</var> should be larger than 1. 
 
235
 
 
236
The <var>arccosh</var> variant of this function is supplied for Delphi 
 
237
compatibility.
 
238
</descr>
 
239
<errors>
 
240
If the argument <var>x</var> is not in the allowed range, an <var>EInvalidArgument</var>
 
241
exception is raised.
 
242
</errors>
 
243
<seealso>
 
244
<link id="cosh"/>
 
245
<link id="sinh"/>
 
246
<link id="arcsin"/>
 
247
<link id="arsinh"/>
 
248
<link id="artanh"/>,
 
249
<link id="tanh"/>
 
250
</seealso>
 
251
<example file="mathex/ex3"/>
 
252
</element>
 
253
 
 
254
<element name="arcsin">
 
255
<short>Return inverse sine</short>
 
256
<descr>
 
257
<var>Arcsin</var> returns the inverse sine of its argument <var>x</var>. The
 
258
argument <var>x</var> should lie between -1 and 1. 
 
259
</descr>
 
260
<errors>
 
261
If the argument <var>x</var> is not in the allowed range, an <var>EInvalidArgument</var>
 
262
exception is raised.
 
263
</errors>
 
264
<seealso>
 
265
<link id="arccos"/>
 
266
<link id="arcosh"/>
 
267
<link id="arsinh"/>
 
268
<link id="artanh"/>
 
269
</seealso>
 
270
<example file="mathex/ex2"/>
 
271
</element>
 
272
 
 
273
 
 
274
<element name="arctan2">
 
275
<short>Return arctangent of (y/x)</short>
 
276
<descr>
 
277
<var>arctan2</var> calculates <var>arctan(y/x)</var>, and returns an angle in the
 
278
correct quadrant. The returned angle will be in the range $-\pi$ to
 
279
$\pi$ radians.
 
280
The values of <var>x</var> and <var>y</var> must be between -2\^{}64 and 2\^{}64,
 
281
moreover <var>x</var> should be different from zero.
 
282
 
 
283
On Intel systems this function is implemented with the native intel
 
284
<var>fpatan</var> instruction.
 
285
</descr>
 
286
<errors>
 
287
If <var>x</var> is zero, an overflow error will occur.
 
288
</errors>
 
289
<seealso>
 
290
<link id="arccos"/>
 
291
<link id="arcosh"/>
 
292
<link id="arsinh"/>
 
293
<link id="artanh"/>
 
294
</seealso>
 
295
<example file="mathex/ex6"/>
 
296
</element>
 
297
 
 
298
<element name="arsinh">
 
299
<short>Return inverse hyperbolic sine</short>
 
300
<descr>
 
301
<var>arsinh</var> returns the inverse hyperbolic sine of its argument <var>x</var>. 
 
302
 
 
303
The <var>arscsinh</var> variant of this function is supplied for Delphi 
 
304
compatibility.
 
305
</descr>
 
306
<errors>
 
307
None.
 
308
</errors>
 
309
<seealso>
 
310
<link id="arcosh"/>
 
311
<link id="arccos"/>
 
312
<link id="arcsin"/>
 
313
<link id="artanh"/>
 
314
</seealso>
 
315
<example file="mathex/ex4"/>
 
316
</element>
 
317
 
 
318
 
 
319
<element name="artanh">
 
320
<short>Return inverse hyperbolic tangent</short>
 
321
<descr>
 
322
<var>artanh</var> returns the inverse hyperbolic tangent of its argument <var>x</var>,
 
323
where <var>x</var> should lie in the interval [-1,1], borders included.
 
324
 
 
325
The <var>arctanh</var> variant of this function is supplied for Delphi compatibility.
 
326
</descr>
 
327
<errors>
 
328
In case <var>x</var> is not in the interval [-1,1], an <var>EInvalidArgument</var>
 
329
exception is raised.
 
330
</errors>
 
331
<seealso>
 
332
<link id="arcosh"/>
 
333
<link id="arccos"/>
 
334
<link id="arcsin"/>
 
335
<link id="artanh"/>
 
336
</seealso>
 
337
<example file="mathex/ex5"/>
 
338
</element>
 
339
 
 
340
 
 
341
<element name="ceil">
 
342
<short>Return the lowest integer number greater than or equal to argument</short>
 
343
<descr>
 
344
<var>Ceil</var> returns the lowest integer number greater than or equal to <var>x</var>.
 
345
The absolute value of <var>x</var> should be less than <var>maxint</var>.
 
346
</descr>
 
347
<errors>
 
348
If the asolute value of <var>x</var> is larger than maxint, an overflow error will
 
349
occur.
 
350
</errors>
 
351
<seealso>
 
352
<link id="floor"/>
 
353
</seealso>
 
354
<example file="mathex/ex7"/>
 
355
</element>
 
356
 
 
357
<element name="cosh">
 
358
<short>Return hyperbolic cosine</short>
 
359
<descr>
 
360
<var>Cosh</var> returns the hyperbolic cosine of it's argument {x}.
 
361
</descr>
 
362
<errors>
 
363
None.
 
364
</errors>
 
365
<seealso>
 
366
<link id="arcosh"/>
 
367
<link id="sinh"/>
 
368
<link id="arsinh"/>
 
369
</seealso>
 
370
<example file="mathex/ex8"/>
 
371
</element>
 
372
 
 
373
 
 
374
<element name="cotan">
 
375
<short>Return cotangent</short>
 
376
<descr>
 
377
<var>Cotan</var> returns the cotangent of it's argument <var>x</var>. <var>x</var> should
 
378
be different from zero.
 
379
</descr>
 
380
<errors>
 
381
If <var>x</var> is zero then a overflow error will occur.
 
382
</errors>
 
383
<seealso>
 
384
<link id="tanh"/>
 
385
</seealso>
 
386
<example file="mathex/ex9"/>
 
387
</element>
 
388
 
 
389
 
 
390
<element name="cycletorad">
 
391
<short>Convert cycle angle to radians angle</short>
 
392
<descr>
 
393
<var>Cycletorad</var> transforms it's argument <var>cycle</var>
 
394
(an angle expressed in cycles) to radians.
 
395
(1 cycle is $2 \pi$ radians).
 
396
</descr>
 
397
<errors>
 
398
None.
 
399
</errors>
 
400
<seealso>
 
401
<link id="degtograd"/>
 
402
<link id="degtorad"/>
 
403
<link id="radtodeg"/>,
 
404
<link id="radtograd"/>
 
405
<link id="radtocycle"/>
 
406
</seealso>
 
407
<example file="mathex/ex10"/>
 
408
</element>
 
409
 
 
410
 
 
411
<element name="degtograd">
 
412
<short>Convert degree angle to grads angle</short>
 
413
<descr>
 
414
<var>Degtograd</var> transforms it's argument <var>deg</var> (an angle in degrees)
 
415
to grads.
 
416
 
 
417
(90 degrees is 100 grad.)
 
418
</descr>
 
419
<errors>
 
420
None.
 
421
</errors>
 
422
<seealso>
 
423
<link id="cycletorad"/>
 
424
<link id="degtorad"/>
 
425
<link id="radtodeg"/>,
 
426
<link id="radtograd"/>
 
427
<link id="radtocycle"/>
 
428
</seealso>
 
429
<example file="mathex/ex11"/>
 
430
</element>
 
431
 
 
432
 
 
433
<element name="degtorad">
 
434
<short>Convert degree angle to radians angle.</short>
 
435
<descr>
 
436
<var>Degtorad</var> converts it's argument <var>deg</var> (an angle in degrees) to
 
437
radians.
 
438
 
 
439
(pi radians is 180 degrees)
 
440
</descr>
 
441
<errors>
 
442
None.
 
443
</errors>
 
444
<seealso>
 
445
<link id="cycletorad"/>
 
446
<link id="degtograd"/>
 
447
<link id="radtodeg"/>,
 
448
<link id="radtograd"/>
 
449
<link id="radtocycle"/>
 
450
</seealso>
 
451
<example file="mathex/ex12"/>
 
452
</element>
 
453
 
 
454
 
 
455
<element name="floor">
 
456
<short>Return the largest integer smaller than or equal to argument</short>
 
457
<descr>
 
458
<var>Floor</var> returns the largest integer smaller than or equal to <var>x</var>.
 
459
The absolute value of <var>x</var> should be less than <var>maxint</var>.
 
460
</descr>
 
461
<errors>
 
462
If <var>x</var> is larger than <var>maxint</var>, an overflow will occur.
 
463
</errors>
 
464
<seealso>
 
465
<link id="ceil"/>
 
466
</seealso>
 
467
<example file="mathex/ex13"/>
 
468
</element>
 
469
 
 
470
 
 
471
<element name="frexp">
 
472
<short>Return mantissa and exponent.</short>
 
473
<descr>
 
474
<var>Frexp</var> returns the mantissa and exponent of it's argument
 
475
<var>x</var> in <var>mantissa</var> and <var>exponent</var>.
 
476
</descr>
 
477
<errors>
 
478
None
 
479
</errors>
 
480
<seealso>
 
481
</seealso>
 
482
<example file="mathex/ex14"/>
 
483
</element>
 
484
 
 
485
 
 
486
<element name="gradtodeg">
 
487
<short>Convert grads angle to degrees angle</short>
 
488
<descr>
 
489
<var>Gradtodeg</var> converts its argument <var>grad</var> (an angle in grads)
 
490
to degrees.
 
491
 
 
492
(100 grad is 90 degrees)
 
493
</descr>
 
494
<errors>
 
495
None.
 
496
</errors>
 
497
<seealso>
 
498
<link id="cycletorad"/>
 
499
<link id="degtograd"/>
 
500
<link id="radtodeg"/>,
 
501
<link id="radtograd"/>
 
502
<link id="radtocycle"/>
 
503
<link id="gradtorad"/>
 
504
</seealso>
 
505
<example file="mathex/ex15"/>
 
506
</element>
 
507
 
 
508
 
 
509
<element name="gradtorad">
 
510
<short>Convert grads angle to radians angle</short>
 
511
<descr>
 
512
<var>Gradtorad</var> converts its argument <var>grad</var> (an angle in grads)
 
513
to radians.
 
514
 
 
515
(200 grad is pi degrees).
 
516
</descr>
 
517
<errors>
 
518
None.
 
519
</errors>
 
520
<seealso>
 
521
<link id="cycletorad"/>
 
522
<link id="degtograd"/>
 
523
<link id="radtodeg"/>,
 
524
<link id="radtograd"/>
 
525
<link id="radtocycle"/>
 
526
<link id="gradtodeg"/>
 
527
</seealso>
 
528
<example file="mathex/ex16"/>
 
529
</element>
 
530
 
 
531
 
 
532
<element name="hypot">
 
533
<short>Return hypotenuse of triangle</short>
 
534
<descr>
 
535
<var>Hypot</var> returns the hypotenuse of the triangle where the sides
 
536
adjacent to the square angle have lengths <var>x</var> and <var>y</var>.
 
537
 
 
538
The function uses Pythagoras' rule for this.
 
539
</descr>
 
540
<errors>
 
541
None.
 
542
</errors>
 
543
<seealso>
 
544
</seealso>
 
545
<example file="mathex/ex17"/>
 
546
</element>
 
547
 
 
548
 
 
549
<element name="intpower">
 
550
<short>Return integer power.</short>
 
551
<descr>
 
552
<var>Intpower</var> returns <var>base</var> to the power <var>exponent</var>,
 
553
where exponent is an integer value.
 
554
</descr>
 
555
<errors>
 
556
If <var>base</var> is zero and the exponent is negative, then an
 
557
overflow error will occur.
 
558
</errors>
 
559
<seealso>
 
560
<link id="power"/>
 
561
</seealso>
 
562
<example file="mathex/ex18"/>
 
563
</element>
 
564
 
 
565
 
 
566
<element name="ldexp">
 
567
<short>Return (2 to the power p) times x</short>
 
568
<descr>
 
569
<var>Ldexp</var> returns (2 to the power <var>p</var>) times <var>x</var>.
 
570
</descr>
 
571
<errors>
 
572
None.
 
573
</errors>
 
574
<seealso>
 
575
<link id="lnxp1"/>
 
576
<link id="log10"/>
 
577
<link id="log2"/>
 
578
<link id="logn"/>
 
579
</seealso>
 
580
<example file="mathex/ex19"/>
 
581
</element>
 
582
 
 
583
 
 
584
<element name="lnxp1">
 
585
<short>Return natural logarithm of 1+X</short>
 
586
<descr>
 
587
<var>Lnxp1</var> returns the natural logarithm of <var>1+X</var>. The result
 
588
is more precise for small values of <var>x</var>. <var>x</var> should be larger
 
589
than -1.
 
590
</descr>
 
591
<errors>
 
592
If $x\leq -1$ then an <var>EInvalidArgument</var> exception will be raised.
 
593
</errors>
 
594
<seealso>
 
595
<link id="ldexp"/>
 
596
<link id="log10"/>
 
597
<link id="log2"/>
 
598
<link id="logn"/>
 
599
</seealso>
 
600
<example file="mathex/ex20"/>
 
601
</element>
 
602
 
 
603
<element name="log10">
 
604
<short>Return 10-Based logarithm.</short>
 
605
<descr>
 
606
<var>Log10</var> returns the 10-base logarithm of <var>X</var>.
 
607
</descr>
 
608
<errors>
 
609
If <var>x</var> is less than or equal to 0 an 'invalid fpu operation' error
 
610
will occur.
 
611
</errors>
 
612
<seealso>
 
613
<link id="ldexp"/>
 
614
<link id="lnxp1"/>
 
615
<link id="log2"/>
 
616
<link id="logn"/>
 
617
</seealso>
 
618
<example file="mathex/ex21"/>
 
619
</element>
 
620
 
 
621
 
 
622
<element name="log2">
 
623
<short>Return 2-based logarithm</short>
 
624
<descr>
 
625
<var>Log2</var> returns the 2-base logarithm of <var>X</var>.
 
626
</descr>
 
627
<errors>
 
628
If <var>x</var> is less than or equal to 0 an 'invalid fpu operation' error
 
629
will occur.
 
630
</errors>
 
631
<seealso>
 
632
<link id="ldexp"/>
 
633
<link id="lnxp1"/>
 
634
<link id="log10"/>
 
635
<link id="logn"/>
 
636
</seealso>
 
637
<example file="mathex/ex22"/>
 
638
</element>
 
639
 
 
640
 
 
641
<element name="logn">
 
642
<short>Return N-based logarithm.</short>
 
643
<descr>
 
644
<var>Logn</var> returns the n-base logarithm of <var>X</var>.
 
645
</descr>
 
646
<errors>
 
647
If <var>x</var> is less than or equal to 0 an 'invalid fpu operation' error
 
648
will occur.
 
649
</errors>
 
650
<seealso>
 
651
<link id="ldexp"/>
 
652
<link id="lnxp1"/>
 
653
<link id="log10"/>
 
654
<link id="log2"/>
 
655
</seealso>
 
656
<example file="mathex/ex23"/>
 
657
</element>
 
658
 
 
659
<element name="max">
 
660
<short>Return largest of 2 values</short>
 
661
<descr>
 
662
<var>Max</var> returns the maximum of <var>Int1</var> and <var>Int2</var>.
 
663
</descr>
 
664
<errors>
 
665
None.
 
666
</errors>
 
667
<seealso>
 
668
<link id="min"/>
 
669
<link id="maxIntValue"/>
 
670
<link id="maxvalue"/>
 
671
</seealso>
 
672
<example file="mathex/ex24"/>
 
673
</element>
 
674
 
 
675
<element name="maxIntValue">
 
676
<short>Return largest element in integer array</short>
 
677
<descr>
 
678
<p>
 
679
<var>MaxIntValue</var> returns the largest integer out of the <var>Data</var>
 
680
array.
 
681
</p>
 
682
<p>
 
683
This function is provided for Delphi compatibility, use the <link id="maxvalue"/>
 
684
function instead.
 
685
</p>
 
686
</descr>
 
687
<errors>
 
688
None.
 
689
</errors>
 
690
<seealso>
 
691
<link id="maxvalue"/>
 
692
<link id="minvalue"/>
 
693
<link id="minIntValue"/>
 
694
</seealso>
 
695
<example file="mathex/ex25"/>
 
696
</element>
 
697
 
 
698
 
 
699
<element name="maxvalue">
 
700
<short>Return largest value in array</short>
 
701
<descr>
 
702
<p>
 
703
<var>Maxvalue</var> returns the largest value in the <var>data</var> 
 
704
array with integer or float values. The return value has 
 
705
the same type as the elements of the array.
 
706
</p>
 
707
<p>
 
708
The third and fourth forms accept a pointer to an array of <var>N</var> 
 
709
integer or float values.
 
710
</p>
 
711
</descr>
 
712
<errors>
 
713
None.
 
714
</errors>
 
715
<seealso>
 
716
<link id="maxIntValue"/>
 
717
<link id="minvalue"/>
 
718
<link id="minIntValue"/>
 
719
</seealso>
 
720
<example file="mathex/ex26"/>
 
721
</element>
 
722
 
 
723
<element name="mean">
 
724
<short>Return mean value of array</short>
 
725
<descr>
 
726
<var>Mean</var> returns the average value of <var>data</var>.
 
727
 
 
728
The second form accepts a pointer to an array of <var>N</var> values.
 
729
</descr>
 
730
<errors>
 
731
None.
 
732
</errors>
 
733
<seealso>
 
734
<link id="meanandstddev"/>
 
735
<link id="momentskewkurtosis"/>
 
736
<link id="sum"/>
 
737
</seealso>
 
738
<example file="mathex/ex27"/>
 
739
</element>
 
740
 
 
741
<element name="meanandstddev">
 
742
<short>Return mean and standard deviation of array</short>
 
743
<descr>
 
744
<var>meanandstddev</var> calculates the mean and standard deviation of <var>data</var>
 
745
and returns the result in <var>mean</var> and <var>stddev</var>, respectively.
 
746
Stddev is zero if there is only one value.
 
747
 
 
748
The second form accepts a pointer to an array of <var>N</var> values.
 
749
</descr>
 
750
<errors>
 
751
None.
 
752
</errors>
 
753
<seealso>
 
754
<link id="mean"/>
 
755
<link id="sum"/>
 
756
<link id="sumofsquares"/>
 
757
<link id="momentskewkurtosis"/>
 
758
</seealso>
 
759
<example file="mathex/ex28"/>
 
760
</element>
 
761
 
 
762
 
 
763
<element name="min">
 
764
<short>Return smallest of two values.</short>
 
765
<descr>
 
766
<var>min</var> returns the smallest value of <var>Int1</var> and <var>Int2</var>;
 
767
</descr>
 
768
<errors>
 
769
None.
 
770
</errors>
 
771
<seealso>
 
772
<link id="max"/>
 
773
</seealso>
 
774
<example file="mathex/ex29"/>
 
775
</element>
 
776
 
 
777
<element name="minIntValue">
 
778
<short>Return smallest value in integer array</short>
 
779
<descr>
 
780
<p>
 
781
<var>MinIntvalue</var> returns the smallest value in the <var>Data</var> array.
 
782
</p>
 
783
<p>
 
784
This function is provided for Delphi compatibility, use <var>minvalue</var>
 
785
instead.
 
786
</p>
 
787
</descr>
 
788
<errors>
 
789
None
 
790
</errors>
 
791
<seealso>
 
792
<link id="minvalue"/>
 
793
<link id="maxIntValue"/>
 
794
<link id="maxvalue"/>
 
795
</seealso>
 
796
<example file="mathex/ex30"/>
 
797
</element>
 
798
 
 
799
 
 
800
<element name="minvalue">
 
801
<short>Return smallest value in array</short>
 
802
<descr>
 
803
<p>
 
804
<var>Minvalue</var> returns the smallest value in the <var>data</var> 
 
805
array with integer or float values. The return value has 
 
806
the same type as the elements of the array.
 
807
</p>
 
808
<p>
 
809
The third and fourth forms accept a pointer to an array of <var>N</var> 
 
810
integer or float values.
 
811
</p>
 
812
</descr>
 
813
<errors>
 
814
None.
 
815
</errors>
 
816
<seealso>
 
817
<link id="maxIntValue"/>
 
818
<link id="maxvalue"/>
 
819
<link id="minIntValue"/>
 
820
</seealso>
 
821
<example file="mathex/ex31"/>
 
822
</element>
 
823
 
 
824
 
 
825
<element name="momentskewkurtosis">
 
826
<short>Return 4 first moments of distribution</short>
 
827
<descr>
 
828
<var>momentskewkurtosis</var> calculates the 4 first moments of the distribution
 
829
of valuesin <var>data</var> and returns them in <var>m1</var>,<var>m2</var>,<var>m3</var> and
 
830
<var>m4</var>, as well as the <var>skew</var> and <var>kurtosis</var>.
 
831
</descr>
 
832
<errors>
 
833
None.
 
834
</errors>
 
835
<seealso>
 
836
<link id="mean"/>
 
837
<link id="meanandstddev"/>
 
838
</seealso>
 
839
<example file="mathex/ex32"/>
 
840
</element>
 
841
 
 
842
<element name="norm">
 
843
<short>Return Euclidian norm</short>
 
844
<descr>
 
845
<p>
 
846
<var>Norm</var> calculates the Euclidian norm of the array of data.
 
847
This equals <var>sqrt(sumofsquares(data))</var>.
 
848
</p>
 
849
<p>
 
850
The second form accepts a pointer to an array of <var>N</var> values.
 
851
</p>
 
852
</descr>
 
853
<errors>
 
854
None.
 
855
</errors>
 
856
<seealso>
 
857
<link id="sumofsquares"/>
 
858
</seealso>
 
859
<example file="mathex/ex33"/>
 
860
</element>
 
861
 
 
862
 
 
863
<element name="popnstddev">
 
864
<short>Return population variance</short>
 
865
<descr>
 
866
<p>
 
867
<var>Popnstddev</var> returns the square root of the population variance of
 
868
the values in the  <var>Data</var> array. It returns zero if there is only one value.
 
869
</p>
 
870
<p>
 
871
The second form of this function accepts a pointer to an array of <var>N</var>
 
872
values.
 
873
</p>
 
874
</descr>
 
875
<errors>
 
876
None.
 
877
</errors>
 
878
<seealso>
 
879
<link id="popnvariance"/>
 
880
<link id="mean"/>
 
881
<link id="meanandstddev"/>
 
882
<link id="stddev"/>
 
883
<link id="momentskewkurtosis"/>
 
884
</seealso>
 
885
<example file="mathex/ex35"/>
 
886
</element>
 
887
 
 
888
 
 
889
<element name="popnvariance">
 
890
<short>Return population variance</short>
 
891
<descr>
 
892
<p>
 
893
<var>Popnvariance</var> returns the square root of the population variance of
 
894
the values in the  <var>Data</var> array. It returns zero if there is only one value.
 
895
</p>
 
896
<p>
 
897
The second form of this function accepts a pointer to an array of <var>N</var>
 
898
values.
 
899
</p>
 
900
</descr>
 
901
<errors>
 
902
None.
 
903
</errors>
 
904
<seealso>
 
905
<link id="popnstddev"/>
 
906
<link id="mean"/>
 
907
<link id="meanandstddev"/>
 
908
<link id="stddev"/>,
 
909
<link id="momentskewkurtosis"/>
 
910
</seealso>
 
911
<example file="mathex/ex36"/>
 
912
</element>
 
913
 
 
914
 
 
915
<element name="power">
 
916
<short>Return real power.</short>
 
917
<descr>
 
918
<var>power</var> raises <var>base</var> to the power <var>power</var>. This is equivalent
 
919
to <var>exp(power*ln(base))</var>. Therefore <var>base</var> should be non-negative.
 
920
</descr>
 
921
<errors>
 
922
None.
 
923
</errors>
 
924
<seealso>
 
925
<link id="intpower"/>
 
926
</seealso>
 
927
<example file="mathex/ex34"/>
 
928
</element>
 
929
 
 
930
 
 
931
<element name="radtocycle">
 
932
<short>Convert radians angle to cycle angle</short>
 
933
<descr>
 
934
<p>
 
935
<var>Radtocycle</var> converts its argument <var>rad</var> (an angle expressed in
 
936
radians) to an angle in cycles.
 
937
</p>
 
938
<p>
 
939
(1 cycle equals 2 <var>pi</var> radians)
 
940
</p>
 
941
</descr>
 
942
<errors>
 
943
None.
 
944
</errors>
 
945
<seealso>
 
946
<link id="degtograd"/>
 
947
<link id="degtorad"/>
 
948
<link id="radtodeg"/>,
 
949
<link id="radtograd"/>
 
950
<link id="cycletorad"/>
 
951
</seealso>
 
952
<example file="mathex/ex37"/>
 
953
</element>
 
954
 
 
955
 
 
956
<element name="radtodeg">
 
957
<short>Convert radians angle to degrees angle</short>
 
958
<descr>
 
959
<var>Radtodeg</var> converts its argument <var>rad</var> (an angle expressed in
 
960
radians) to an angle in degrees.
 
961
 
 
962
(180 degrees equals pi radians)
 
963
</descr>
 
964
<errors>
 
965
None.
 
966
</errors>
 
967
<seealso>
 
968
<link id="degtograd"/>
 
969
<link id="degtorad"/>
 
970
<link id="radtocycle"/>,
 
971
<link id="radtograd"/>
 
972
<link id="cycletorad"/>
 
973
</seealso>
 
974
<example file="mathex/ex38"/>
 
975
</element>
 
976
 
 
977
 
 
978
<element name="radtograd">
 
979
<short>Convert radians angle to grads angle</short>
 
980
<descr>
 
981
<p>
 
982
<var>Radtodeg</var> converts its argument <var>rad</var> (an angle expressed in
 
983
radians) to an angle in grads.
 
984
</p>
 
985
<p>
 
986
(200 grads equals pi radians)
 
987
</p>
 
988
</descr>
 
989
<errors>
 
990
None.
 
991
</errors>
 
992
<seealso>
 
993
<link id="degtograd"/>
 
994
<link id="degtorad"/>
 
995
<link id="radtocycle"/>,
 
996
<link id="radtodeg"/>
 
997
<link id="cycletorad"/>
 
998
</seealso>
 
999
<example file="mathex/ex39"/>
 
1000
</element>
 
1001
 
 
1002
 
 
1003
<element name="randg">
 
1004
<short>Return gaussian distributed random number.</short>
 
1005
<descr>
 
1006
<var>randg</var> returns a random number which - when produced in large
 
1007
quantities - has a Gaussian distribution with mean <var>mean</var> and 
 
1008
standarddeviation <var>stddev</var>. 
 
1009
</descr>
 
1010
<errors>
 
1011
None.
 
1012
</errors>
 
1013
<seealso>
 
1014
<link id="mean"/>
 
1015
<link id="stddev"/>
 
1016
<link id="meanandstddev"/>
 
1017
</seealso>
 
1018
<example file="mathex/ex40"/>
 
1019
</element>
 
1020
 
 
1021
 
 
1022
<element name="sincos">
 
1023
<short>Return sine and cosine of argument</short>
 
1024
<descr>
 
1025
<p>
 
1026
<var>Sincos</var> calculates the sine and cosine of the angle <var>theta</var>,
 
1027
and returns the result in <var>sinus</var> and <var>cosinus</var>.
 
1028
</p>
 
1029
<p>
 
1030
On Intel hardware, This calculation will be faster than making 2 calls
 
1031
to calculate the sine and cosine separately.
 
1032
</p>
 
1033
</descr>
 
1034
<errors>
 
1035
None.
 
1036
</errors>
 
1037
<seealso>
 
1038
<link id="arcsin"/>
 
1039
<link id="arccos"/>.
 
1040
</seealso>
 
1041
<example file="mathex/ex41"/>
 
1042
</element>
 
1043
 
 
1044
 
 
1045
<element name="sinh">
 
1046
<short>Return hyperbolic sine</short>
 
1047
<descr>
 
1048
<var>Sinh</var> returns the hyperbolic sine of its argument <var>x</var>.
 
1049
</descr>
 
1050
<errors>
 
1051
</errors>
 
1052
<seealso>
 
1053
<link id="cosh"/>
 
1054
<link id="arsinh"/>
 
1055
<link id="tanh"/>
 
1056
<link id="artanh"/>
 
1057
</seealso>
 
1058
<example file="mathex/ex42"/>
 
1059
</element>
 
1060
 
 
1061
 
 
1062
<element name="stddev">
 
1063
<short>Return standard deviation of data</short>
 
1064
<descr>
 
1065
<p>
 
1066
<var>Stddev</var> returns the standard deviation of the values in <var>Data</var>.
 
1067
It returns zero if there is only one value.
 
1068
</p>
 
1069
<p>
 
1070
The second form of the function accepts a pointer to an array of <var>N</var>
 
1071
values.
 
1072
</p>
 
1073
</descr>
 
1074
<errors>
 
1075
None.
 
1076
</errors>
 
1077
<seealso>
 
1078
<link id="mean"/>
 
1079
<link id="meanandstddev"/>
 
1080
<link id="variance"/>
 
1081
<link id="totalvariance"/>
 
1082
</seealso>
 
1083
<example file="mathex/ex43"/>
 
1084
</element>
 
1085
 
 
1086
 
 
1087
<element name="sum">
 
1088
<short>Return sum of values</short>
 
1089
<descr>
 
1090
<p>
 
1091
<var>Sum</var> returns the sum of the values in the <var>data</var> array.
 
1092
</p>
 
1093
<p>
 
1094
The second form of the function accepts a pointer to an array of <var>N</var>
 
1095
values.
 
1096
</p>
 
1097
</descr>
 
1098
<errors>
 
1099
None.
 
1100
</errors>
 
1101
<seealso>
 
1102
<link id="sumofsquares"/>
 
1103
<link id="sumsandsquares"/>
 
1104
<link id="totalvariance"/>
 
1105
<link id="variance"/>
 
1106
</seealso>
 
1107
<example file="mathex/ex44"/>
 
1108
</element>
 
1109
 
 
1110
 
 
1111
<element name="sumofsquares">
 
1112
<short>Return sum of squares of values</short>
 
1113
<descr>
 
1114
<p>
 
1115
<var>Sumofsquares</var> returns the sum of the squares of the values in the <var>data</var> 
 
1116
array.
 
1117
</p>
 
1118
<p>
 
1119
The second form of the function accepts a pointer to an array of <var>N</var>
 
1120
values.
 
1121
</p>
 
1122
</descr>
 
1123
<errors>
 
1124
None.
 
1125
</errors>
 
1126
<seealso>
 
1127
<link id="sum"/>
 
1128
<link id="sumsandsquares"/>
 
1129
<link id="totalvariance"/>
 
1130
<link id="variance"/>
 
1131
</seealso>
 
1132
<example file="mathex/ex45"/>
 
1133
</element>
 
1134
 
 
1135
 
 
1136
<element name="sumsandsquares">
 
1137
<short>Return sum and sum of squares of values.</short>
 
1138
<descr>
 
1139
<p>
 
1140
<var>sumsandsquares</var> calculates the sum of the values and the sum of 
 
1141
the squares of the values in the <var>data</var> array and returns the
 
1142
results in <var>sum</var> and <var>sumofsquares</var>.
 
1143
</p>
 
1144
<p>
 
1145
The second form of the function accepts a pointer to an array of <var>N</var>
 
1146
values.
 
1147
</p>
 
1148
</descr>
 
1149
<errors>
 
1150
None.
 
1151
</errors>
 
1152
<seealso>
 
1153
<link id="sum"/>
 
1154
<link id="sumofsquares"/>
 
1155
<link id="totalvariance"/>
 
1156
<link id="variance"/>
 
1157
</seealso>
 
1158
<example file="mathex/ex46"/>
 
1159
</element>
 
1160
 
 
1161
 
 
1162
<element name="tan">
 
1163
<short>Return tangent</short>
 
1164
<descr>
 
1165
<var>Tan</var> returns the tangent of <var>x</var>.
 
1166
</descr>
 
1167
<errors>
 
1168
If <var>x</var> (normalized) is pi/2 or 3pi/2 then an overflow will occur.
 
1169
</errors>
 
1170
<seealso>
 
1171
<link id="tanh"/>
 
1172
<link id="arcsin"/>
 
1173
<link id="sincos"/>
 
1174
<link id="arccos"/>
 
1175
</seealso>
 
1176
<example file="mathex/ex47"/>
 
1177
</element>
 
1178
 
 
1179
 
 
1180
<element name="tanh">
 
1181
<short>Return hyperbolic tangent</short>
 
1182
<descr>
 
1183
<var>Tanh</var> returns the hyperbolic tangent of <var>x</var>.
 
1184
</descr>
 
1185
<errors>
 
1186
None.
 
1187
</errors>
 
1188
<seealso>
 
1189
<link id="arcsin"/>
 
1190
<link id="sincos"/>
 
1191
<link id="arccos"/>
 
1192
</seealso>
 
1193
<example file="mathex/ex48"/>
 
1194
</element>
 
1195
 
 
1196
 
 
1197
<element name="totalvariance">
 
1198
<short>Return total varians of values</short>
 
1199
<descr>
 
1200
<p>
 
1201
<var>TotalVariance</var> returns the total variance of the values in the 
 
1202
<var>data</var> array. It returns zero if there is only one value.
 
1203
</p>
 
1204
<p>
 
1205
The second form of the function accepts a pointer to an array of <var>N</var>
 
1206
values.
 
1207
</p>
 
1208
</descr>
 
1209
<errors>
 
1210
None.
 
1211
</errors>
 
1212
<seealso>
 
1213
<link id="variance"/>
 
1214
<link id="stddev"/>
 
1215
<link id="mean"/>
 
1216
</seealso>
 
1217
<example file="mathex/ex49"/>
 
1218
</element>
 
1219
 
 
1220
 
 
1221
<element name="variance">
 
1222
<short>Return variance of values</short>
 
1223
<descr>
 
1224
<p>
 
1225
<var>Variance</var> returns the variance of the values in the 
 
1226
<var>data</var> array. It returns zero if there is only one value.
 
1227
</p>
 
1228
<p>
 
1229
The second form of the function accepts a pointer to an array of <var>N</var>
 
1230
values.
 
1231
</p>
 
1232
</descr>
 
1233
<errors>
 
1234
None.
 
1235
</errors>
 
1236
<seealso>
 
1237
<link id="totalvariance"/>
 
1238
<link id="stddev"/>
 
1239
<link id="mean"/>
 
1240
</seealso>
 
1241
<example file="mathex/ex50"/>
 
1242
</element>
 
1243
 
 
1244
<!-- unresolved type reference Visibility: default -->
 
1245
<element name="sysutils">
 
1246
<short>Used for exception definitions.</short>
 
1247
</element>
 
1248
 
 
1249
<!-- constant Visibility: default -->
 
1250
<element name="MinExtended">
 
1251
<short>Minimum value (closest to zero) of extended type</short>
 
1252
</element>
 
1253
 
 
1254
<!-- constant Visibility: default -->
 
1255
<element name="MaxExtended">
 
1256
<short>Maximum value of extended type</short>
 
1257
</element>
 
1258
 
 
1259
<!-- constant Visibility: default -->
 
1260
<element name="MinFloat">
 
1261
<short>Minimum value (closest to zero) of float type</short>
 
1262
</element>
 
1263
 
 
1264
<!-- constant Visibility: default -->
 
1265
<element name="MaxFloat">
 
1266
<short>Maximum value of float type</short>
 
1267
</element>
 
1268
 
 
1269
<!-- pointer type Visibility: default -->
 
1270
<element name="PInteger">
 
1271
<short>Pointer to integer type</short>
 
1272
</element>
 
1273
 
 
1274
<!-- range type Visibility: default -->
 
1275
<element name="TValueRelationship">
 
1276
<short>Type to describe relational order between values</short>
 
1277
</element>
 
1278
 
 
1279
<!-- constant Visibility: default -->
 
1280
<element name="EqualsValue">
 
1281
<short>Values are the same</short>
 
1282
</element>
 
1283
 
 
1284
<!-- constant Visibility: default -->
 
1285
<element name="LessThanValue">
 
1286
<short>First value is less than second value</short>
 
1287
</element>
 
1288
 
 
1289
<!-- constant Visibility: default -->
 
1290
<element name="GreaterThanValue">
 
1291
<short>First values is greater than second value</short>
 
1292
</element>
 
1293
 
 
1294
<!-- constant Visibility: default -->
 
1295
<element name="NaN">
 
1296
<short>Value is Not a Number</short>
 
1297
</element>
 
1298
 
 
1299
<!-- constant Visibility: default -->
 
1300
<element name="Infinity">
 
1301
<short>Value is infinity</short>
 
1302
</element>
 
1303
 
 
1304
<!-- function Visibility: default -->
 
1305
<element name="InRange">
 
1306
<short>Check whether value is in range.</short>
 
1307
<descr>
 
1308
<var>InRange</var> returns <var>True</var> if <var>AValue</var> is in the
 
1309
range <var>AMin</var>..<var>AMax</var>. It returns <var>False</var> if
 
1310
<var>Value</var> lies outside the specified range.
 
1311
</descr>
 
1312
<seealso>
 
1313
<link id="EnsureRange"/>
 
1314
</seealso>
 
1315
</element>
 
1316
 
 
1317
<!-- function Visibility: default -->
 
1318
<element name="EnsureRange">
 
1319
<short>Change value to it falls in specified range.</short>
 
1320
<descr>
 
1321
<var>EnsureRange</var> returns <var>Value</var> if <var>AValue</var> is in
 
1322
the range <var>AMin</var>..<var>AMax</var>. It returns <var>AMin</var> if
 
1323
the value is less than <var>AMin</var>, or <var>AMax</var> if the value is
 
1324
larger than <var>AMax</var>.
 
1325
</descr>
 
1326
<seealso>
 
1327
<link id="InRange"/>
 
1328
</seealso>
 
1329
</element>
 
1330
 
 
1331
<!-- procedure Visibility: default -->
 
1332
<element name="DivMod">
 
1333
<short>Return DIV and MOD of arguments </short>
 
1334
<descr>
 
1335
<var>DivMod</var> returns <var>Dividend</var> DIV <var>Divisor</var> in
 
1336
<var>Result</var>, and <var>Dividend</var> MOD <var>Divisor</var> in
 
1337
<var>Remainder</var>
 
1338
</descr>
 
1339
</element>
 
1340
 
 
1341
<!-- range type Visibility: default -->
 
1342
<element name="TValueSign">
 
1343
<short>Type indicating sign of a valuea</short>
 
1344
</element>
 
1345
 
 
1346
<!-- constant Visibility: default -->
 
1347
<element name="NegativeValue">
 
1348
<short>Value is negative</short>
 
1349
</element>
 
1350
 
 
1351
<!-- constant Visibility: default -->
 
1352
<element name="ZeroValue">
 
1353
<short>Value is zero</short>
 
1354
</element>
 
1355
 
 
1356
<!-- constant Visibility: default -->
 
1357
<element name="PositiveValue">
 
1358
<short>Value is positive</short>
 
1359
</element>
 
1360
 
 
1361
<!-- function Visibility: default -->
 
1362
<element name="Sign">
 
1363
<short>Return sign of argument</short>
 
1364
<descr>
 
1365
<var>Sign</var> returns the sign of it's argument, which can be an Integer,
 
1366
64 bit integer, or a double. The returned value is an integer which is -1, 0
 
1367
or 1, and can be used to do further calculations with.
 
1368
</descr>
 
1369
</element>
 
1370
 
 
1371
<!-- function Visibility: default -->
 
1372
<element name="IsZero">
 
1373
<short>Check whether value is zero</short>
 
1374
<descr>
 
1375
<p>
 
1376
<var>IsZero</var> checks whether the float value <var>A</var> is zero, up to a 
 
1377
precision of <var>Epsilon</var>. It returns <var>True</var> if Abs(<var>A</var>) is
 
1378
less than <var>Epsilon</var>.
 
1379
</p>
 
1380
<p>
 
1381
The default value for <var>Epsilon</var> is dependent on the type of the
 
1382
arguments, but is <link id="MinFloat"/> for the float type.
 
1383
</p>
 
1384
</descr>
 
1385
<seealso>
 
1386
<link id="IsNan"/>
 
1387
<link id="IsInfinite"/>
 
1388
<link id="SameValue"/>
 
1389
</seealso>
 
1390
</element>
 
1391
 
 
1392
<!-- function Visibility: default -->
 
1393
<element name="IsNan">
 
1394
<short>Check whether value is Not a Number</short>
 
1395
<descr>
 
1396
<var>IsNan</var> returns <var>True</var> if the double <var>d</var> 
 
1397
contains Not A Number (a value which cannot be represented correctly 
 
1398
in double format).
 
1399
</descr>
 
1400
<seealso>
 
1401
<link id="IsZero"/>
 
1402
<link id="IsInfinite"/>
 
1403
</seealso>
 
1404
</element>
 
1405
 
 
1406
<!-- function Visibility: default -->
 
1407
<element name="IsInfinite">
 
1408
<short>Check whether value is infinite</short>
 
1409
<descr>
 
1410
<var>IsInfinite</var> returns <var>True</var> if the double <var>d</var> 
 
1411
contains the infinite value.
 
1412
</descr>
 
1413
<seealso>
 
1414
<link id="IsZero"/>
 
1415
<link id="IsInfinite"/>
 
1416
</seealso>
 
1417
</element>
 
1418
 
 
1419
<!-- function Visibility: default -->
 
1420
<element name="SameValue">
 
1421
<short>Check whether 2 float values are the same</short>
 
1422
<descr>
 
1423
<p>
 
1424
<var>SameValue</var> returns <var>True</var> if the floating-point values
 
1425
<var>A</var> and <var>B</var> are the same, i.e. whether the absolute value
 
1426
of their their difference is smaller than <var>Epsilon</var>. If their
 
1427
difference is larger, then <var>False</var> is returned.
 
1428
</p>
 
1429
<p>
 
1430
The default value for <var>Epsilon</var> is dependent on the type of the
 
1431
arguments, but is <link id="MinFloat"/> for the float type.
 
1432
</p>
 
1433
</descr>
 
1434
<seealso>
 
1435
<link id="MinFloat"/>
 
1436
<link id="IsZero"/>
 
1437
</seealso>
 
1438
</element>
 
1439
 
 
1440
<!-- function Visibility: default -->
 
1441
<element name="arccosh">
 
1442
<short>Return inverse hyperbolic cosine</short>
 
1443
<descr>
 
1444
<p>
 
1445
<var>arccosh</var> returns the inverse hyperbolic cosine of it's argument 
 
1446
<var>x</var>.
 
1447
</p>
 
1448
<p>
 
1449
This function is an alias for <link id="arcosh"/>, provided for Delphi
 
1450
compatibility.
 
1451
</p>
 
1452
</descr>
 
1453
<seealso>
 
1454
<link id="arcosh"/>
 
1455
</seealso>
 
1456
</element>
 
1457
 
 
1458
<!-- function Visibility: default -->
 
1459
<element name="arcsinh">
 
1460
<short>Return inverse hyperbolic sine</short>
 
1461
<descr>
 
1462
<p>
 
1463
<var>arcsinh</var> returns the inverse hyperbolic sine of it's argument 
 
1464
<var>x</var>.
 
1465
</p>
 
1466
<p>
 
1467
This function is an alias for <link id="arsinh"/>, provided for Delphi
 
1468
compatibility.
 
1469
</p>
 
1470
</descr>
 
1471
<seealso>
 
1472
<link id="arsinh"/>
 
1473
</seealso>
 
1474
</element>
 
1475
 
 
1476
<!-- function Visibility: default -->
 
1477
<element name="arctanh">
 
1478
<short>Return inverse hyperbolic tangent</short>
 
1479
<descr>
 
1480
<p>
 
1481
<var>arcsinh</var> returns the inverse hyperbolic tangent of it's argument
 
1482
<var>x</var>.
 
1483
</p>
 
1484
<p>
 
1485
This function is an alias for <link id="artanh"/>, provided for Delphi
 
1486
compatibility.
 
1487
</p>
 
1488
</descr>
 
1489
<seealso>
 
1490
<link id="artanh"/>
 
1491
</seealso>
 
1492
</element>
 
1493
 
 
1494
<!-- enumeration type Visibility: default -->
 
1495
<element name="TFPURoundingMode">
 
1496
<short>Type describing the rounding mode for the Floating Point processor.</short>
 
1497
</element>
 
1498
 
 
1499
<!-- enumeration value Visibility: default -->
 
1500
<element name="TFPURoundingMode.rmNearest">
 
1501
<short>Round to nearest integer value</short>
 
1502
</element>
 
1503
 
 
1504
<!-- enumeration value Visibility: default -->
 
1505
<element name="TFPURoundingMode.rmDown">
 
1506
<short>Round to biggest integer smaller than value.</short>
 
1507
</element>
 
1508
 
 
1509
<!-- enumeration value Visibility: default -->
 
1510
<element name="TFPURoundingMode.rmUp">
 
1511
<short>Round to smallest integer larger than value.</short>
 
1512
</element>
 
1513
 
 
1514
<!-- enumeration value Visibility: default -->
 
1515
<element name="TFPURoundingMode.rmTruncate">
 
1516
<short>Cut off fractional part.</short>
 
1517
</element>
 
1518
 
 
1519
<!-- enumeration type Visibility: default -->
 
1520
<element name="TFPUPrecisionMode">
 
1521
<short>Type describing the default precision for the Floating Point processor.</short>
 
1522
</element>
 
1523
 
 
1524
<!-- enumeration value Visibility: default -->
 
1525
<element name="TFPUPrecisionMode.pmSingle">
 
1526
<short>Single-type precision</short>
 
1527
</element>
 
1528
 
 
1529
<!-- enumeration value Visibility: default -->
 
1530
<element name="TFPUPrecisionMode.pmReserved">
 
1531
<short>?</short>
 
1532
</element>
 
1533
 
 
1534
<!-- enumeration value Visibility: default -->
 
1535
<element name="TFPUPrecisionMode.pmDouble">
 
1536
<short>Double-type precision</short>
 
1537
</element>
 
1538
 
 
1539
<!-- enumeration value Visibility: default -->
 
1540
<element name="TFPUPrecisionMode.pmExtended">
 
1541
<short>Extended-type precision</short>
 
1542
</element>
 
1543
 
 
1544
<!-- enumeration type Visibility: default -->
 
1545
<element name="TFPUException">
 
1546
<short>Type describing Floating Point processor exceptions.</short>
 
1547
</element>
 
1548
 
 
1549
<!-- enumeration value Visibility: default -->
 
1550
<element name="TFPUException.exInvalidOp">
 
1551
<short>Invalid operation error</short>
 
1552
</element>
 
1553
 
 
1554
<!-- enumeration value Visibility: default -->
 
1555
<element name="TFPUException.exDenormalized">
 
1556
<short></short>
 
1557
</element>
 
1558
 
 
1559
<!-- enumeration value Visibility: default -->
 
1560
<element name="TFPUException.exZeroDivide">
 
1561
<short>Division by zero error.</short>
 
1562
</element>
 
1563
 
 
1564
<!-- enumeration value Visibility: default -->
 
1565
<element name="TFPUException.exOverflow">
 
1566
<short>Float overflow error</short>
 
1567
</element>
 
1568
 
 
1569
<!-- enumeration value Visibility: default -->
 
1570
<element name="TFPUException.exUnderflow">
 
1571
<short>Float underflow error</short>
 
1572
</element>
 
1573
 
 
1574
<!-- enumeration value Visibility: default -->
 
1575
<element name="TFPUException.exPrecision">
 
1576
<short>Precision error</short>
 
1577
</element>
 
1578
 
 
1579
<!-- set type Visibility: default -->
 
1580
<element name="TFPUExceptionMask">
 
1581
<short>Type to set the Floating Point Unit exception mask.</short>
 
1582
</element>
 
1583
 
 
1584
<!-- function Visibility: default -->
 
1585
<element name="GetRoundMode">
 
1586
<short>Return the Floating Point Unit rounding mode.</short>
 
1587
<descr>
 
1588
</descr>
 
1589
</element>
 
1590
 
 
1591
<!-- function Visibility: default -->
 
1592
<element name="SetRoundMode">
 
1593
<short>Set the Floating Point Unit rounding mode.</short>
 
1594
<descr>
 
1595
</descr>
 
1596
</element>
 
1597
 
 
1598
<!-- function Visibility: default -->
 
1599
<element name="GetPrecisionMode">
 
1600
<short>Return the Floating Point Unit precision mode.</short>
 
1601
<descr>
 
1602
</descr>
 
1603
</element>
 
1604
 
 
1605
<!-- function Visibility: default -->
 
1606
<element name="SetPrecisionMode">
 
1607
<short>Set the Floating Point Unit precision mode.</short>
 
1608
<descr>
 
1609
</descr>
 
1610
</element>
 
1611
 
 
1612
<!-- function Visibility: default -->
 
1613
<element name="GetExceptionMask">
 
1614
<short>Get the Floating Point Unit exception mask.</short>
 
1615
<descr>
 
1616
</descr>
 
1617
</element>
 
1618
 
 
1619
<!-- function Visibility: default -->
 
1620
<element name="SetExceptionMask">
 
1621
<short>Set the Floating Point Unit exception mask.</short>
 
1622
<descr>
 
1623
</descr>
 
1624
</element>
 
1625
 
 
1626
<!-- procedure Visibility: default -->
 
1627
<element name="ClearExceptions">
 
1628
<short>Clear Floating Point Unit exceptions</short>
 
1629
<descr>
 
1630
</descr>
 
1631
</element>
 
1632
 
 
1633
<element name="GetSSECSR">
 
1634
<short>Get MXCSR control word (Intel only)</short>
 
1635
<descr>
 
1636
<var>GetSSECSR</var> can be used to get the SSE/SSE2 control DWord.
 
1637
It is equivalent to the <var>LDMXCSR</var> assembler instruction, and
 
1638
returns the control dword.
 
1639
</descr>
 
1640
</element>
 
1641
 
 
1642
<element name="ifthen">
 
1643
<short>Return one of two values, depending on a boolean condition</short>
 
1644
<descr>
 
1645
<p>
 
1646
<var>ifthen</var> returns <var>iftrue</var> if <var>val</var> is
 
1647
<var>True</var>, and <var>False</var> if <var>val</var> is <var>False</var>.
 
1648
</p>
 
1649
<p>
 
1650
This function can be used in expressions.
 
1651
</p>
 
1652
</descr>
 
1653
</element>
 
1654
 
 
1655
<element name="SetSSECSR">
 
1656
<short>Set MXCSR control word (Intel only)</short>
 
1657
<descr>
 
1658
<var>SetSSECSR</var> can be used to set the SSE/SSE2 control DWord.
 
1659
It is equivalent to the <var>STMXCSR</var> assembler instruction, and stores
 
1660
<var>w</var> in the control dword.
 
1661
</descr>
 
1662
</element>
 
1663
 
 
1664
 
 
1665
<!-- unresolved type reference Visibility: default -->
 
1666
<element name="sysutils">
 
1667
<short>Exception support</short>
 
1668
</element>
 
1669
 
 
1670
<!-- function Visibility: default -->
 
1671
<element name="operator **">
 
1672
<short>Exponent operator</short>
 
1673
<descr>
 
1674
<var>**</var> raises <var>base</var> to the power <var>expt</var>. Both numbers can be floats or 64-bit integers.
 
1675
</descr>
 
1676
<errors>
 
1677
Overflow exceptions can occur.
 
1678
</errors>
 
1679
<seealso>
 
1680
</seealso>
 
1681
</element>
 
1682
 
 
1683
<!-- function Visibility: default -->
 
1684
<element name="sumInt">
 
1685
<short>Return the sum of an array of integers</short>
 
1686
<descr>
 
1687
<var>SumInt</var> returns the sum of the <var>N</var> integers in the <var>Data</var>
 
1688
array, where this can be an open array or a pointer to an array.
 
1689
</descr>
 
1690
<errors>
 
1691
An overflow may occur.
 
1692
</errors>
 
1693
</element>
 
1694
 
 
1695
 
 
1696
</module>
 
1697
</package>
 
1698
</fpdoc-descriptions>