GNU Pascal Runtime System (GPC)
*******************************

This manual is for the GNU Pascal Runtime Library.

Copyright © 1998-2002 Free Software Foundation, Inc.

Author: Frank Heckenbach frank@pascal.gnu.de

This library is part of GNU Pascal.

     GNU Pascal is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

     GNU Pascal is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

     You should have received a copy of the GNU General Public License along with GNU Pascal; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

     As a special exception, if you link this file with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License.

Variables
*********

In this section of the manual all of the variables, constants, and types exported by the GNU Pascal Runtime system are documented.

Variable
========

List of the variables defined in the GNU Pascal Runtime libarary.

FakeHighLetters

     Declared As
          FakeHighLetters: Boolean;

     Description
          If set, characters >= #$80 are assumed to be letters even if the local routines don't say so. This is a kludge because some systems don't have correct non-English local tables.

Constant
========

List of the Constants defined in the GNU Pascal Runtime Libarary.

MaxLongInt

     Declared As
          MaxLongInt = High (LongInt);

     Description
          The maximum value a LongInt can be.

MaxVarSize

     Declared As
          MaxVarSize = MaxInt div 8;

     Description
          Maximum size of a variable.

Type
====

List of the Types defined in the GNU Pascal Runtime Libarary.

PCStrings

     Defined As
          PCStrings = ^TCStrings;

     Description
          Pointer to TCStrings.

TCStrings

     Defined As
          TCStrings = array [0 .. MaxVarSize div SizeOf (CString)] of CString;

     Description
          Array of strings.

Int64

     Defined As
          Int64 = Integer (64);

     Description
          64 bit integer.

UnixTimeType

     Defined As
          UnixTimeType = LongInt;

     Description
          Used to hold the value of unix time. Please Note:This is hard-coded in the compiler. Do not change here.

MicroSecondTime

     Defined As
          MicroSecondTime = LongInt;

     Description
          Under construction.

FileSizeType

     Defined As
          FileSizeType = LongInt;

     Description
          Under construction

StatFSBuffer

     Defined As
          StatFSBuffer = record
            BlockSize, BlocksTotal, BlocksFree: LongestInt;
            FilesTotal, FilesFree: Integer
          end;

     Description
          Under construction

Mathematical routines
*********************

Mathematical routines exported by the Runtime system.

SinH
====

Synopsis
--------

uses GPC;
function SinH (x: Real): Real;

Description
-----------

The SinH(x) function returns the hyperbolic sine of x, which is defined mathematically as (exp(x) - exp(-x)) / 2.

Example
-------

under construction

See Also
--------

See libc sinh (libc),

CosH
====

Synopsis
--------

uses GPC;
function CosH (x: Real): Real;

Description
-----------

The CosH(x) function returns the hyperbolic cosine of x, which is defined mathematically as (exp(x) + exp(-x)) / 2.

Example
-------

under construction

See Also
--------

See libc cosh (libc).

ArcTan2
=======

Synopsis
--------

uses GPC;
function ArcTan2(y: Real; x: Real): Real;

Description
-----------

The ArcTan2(x,y) function calculates the arc tangent of the two variables x and y. It is similar to calculating the arc tangent of y /  x,  except that  the signs of both arguments are used to determine the quadrant of the result.

Return Value
------------

The atan2() function returns the result in radians,  which  is  between -PI and PI (inclusive).

Example
-------

under construction

See Also
--------

under construction

IsInfinity
==========

Synopsis
--------

uses GPC;
function  IsInfinity (x: LongReal): Boolean;

Description
-----------

under construction

Example
-------

See Also
--------

IsNotANumber
============

Synopsis
--------

uses GPC;
function  IsNotANumber (x: LongReal): Boolean;

Description
-----------

under construction

Example
-------

See Also
--------

SplitReal
=========

Synopsis
--------

uses GPC;
procedure SplitReal (x: LongReal; var Exponent: Integer; var Mantissa: LongReal);

Description
-----------

The SplitReal procedure is used to split the number x into a normalized Mantissa and an Exponent. If the argument x is not zero, the normalized Mantissa is x times a power of  two, and is always in the range 1/2 (inclusive) to 1 (exclusive).  If x is zero, then the normalized Mantissa is zero and zero is stored in Exponent.

Example
-------

under construction

See Also
--------

Character routines
******************

Character routines exported by the Runtime system.

LocalUpCase
===========

Synopsis
--------

uses GPC;
function  LocaleUpCase (ch: Char): Char;

Description
-----------

Converts the letter ch to upper case, if possible.

If  ch  is  not  an  unsigned char value, or EOF, the behaviour of this function is undefined.

The details of what constitutes an uppercase or lowercase letter depend on the current locale.  For example, the default "C"  locale  does  not know about umlauts, so no conversion is done for them.

In some non - English locales, there are lowercase letters with no corresponding uppercase equivalent; the German sharp s is one example.

This function is equivlant to UpCase,Except in `--borland-pascal' mode.

Example
-------

under construction

See Also
--------

LocalLoCase
===========

Synopsis
--------

uses GPC;
function  LocaleLoCase (ch: Char): Char;

Description
-----------

Converts the letter ch to upper case, if possible.

If  ch  is  not  an  unsigned char value, or EOF, the behaviour of this function is undefined.

The details of what constitutes an uppercase or lowercase letter depend on the current locale.  For example, the default "C"  locale  does  not know about umlauts, so no conversion is done for them.

In some non - English locales, there are lowercase letters with no cor- responding uppercase equivalent; the German sharp s is one example.

This function is equivlant to LoCase,Except in `--borland-pascal' mode.

Example
-------

under construction

See Also
--------

IsUpCase
========

Synopsis
--------

uses GPC;
function  IsUpCase (ch: Char): Boolean;

Description
-----------

This function checks whether ch, which  must  have the value of an unsigned char or EOF, is upper case according to the current locale.

Example
-------

under construction

See Also
--------

IsLoCase
========

Synopsis
--------

uses GPC;
function  IsLoCase (ch: Char): Boolean;

Description
-----------

This function checks whether ch, which  must  have the value of an unsigned char or EOF, is lower case according to the current locale.

Example
-------

under construction

See Also
--------

IsAlpha
=======

Synopsis
--------

uses GPC;
function  IsAlphaNum (ch: Char): Boolean;

Description
-----------

This function checks whether ch, which  must  have the value of an unsigned char or EOF, is an alphabetic character; in the standard "C" locale, it  is  equivalent to (IsUpCase(ch) || IsLoCase(ch). In some locales, there may be additional characters for which IsAlpha(ch) is true--letters which are neither upper case nor lower case.

Example
-------

under construction

See Also
--------

IsAlphaNum
==========

Synopsis
--------

uses GPC;
function  IsAlphaNum (ch: Char): Boolean;

Description
-----------

This function checks whether ch, which  must  have the value of an unsigned char or EOF, is an alphanumeric character according to the current locale.

Example
-------

under construction

See Also
--------

IsAlphaNumUnderscore
====================

Synopsis
--------

uses GPC;
function  IsAlphaNumUnderscore (ch: Char): Boolean;

Description
-----------

This function checks whether ch, which must have the value of an unsigned char or EOF, is an underscore character.

Example
-------

under construction

See Also
--------

IsSpace
=======

Synopsis
--------

uses GPC;
function  IsSpace (ch: Char): Boolean;

Description
-----------

This function checks whether ch, which must have the value of an unsigned char or EOF, is a space character.

Example
-------

under construction

See Also
--------

IsPrintable
===========

Synopsis
--------

uses GPC
function  IsPrintable (ch: Char): Boolean;

Description
-----------

This function checks whether ch, which must have the value of an unsigned char or EOF, is any printable character including space.

Example
-------

under construction

See Also
--------

Index
*****