DEFINITION MODULE FOR "C" cbuiltin ;
FROM SYSTEM IMPORT ADDRESS ;
EXPORT UNQUALIFIED alloca, memcpy,
isfinite, isfinitef, isfinitel,
isinf_sign, isinf_signf, isinf_signl,
sinf, sinl, sin,
cosf, cosl, cos,
atan2f, atan2l, atan2,
sqrtf, sqrtl, sqrt,
fabsf, fabsl, fabs,
logf, logl, log,
expf, expl, exp,
log10f, log10l, log10,
exp10f, exp10l, exp10,
ilogbf, ilogbl, ilogb,
significand, significandf, significandl,
modf, modff, modfl,
nextafter, nextafterf, nextafterl,
nexttoward, nexttowardf, nexttowardl,
scalb, scalbf, scalbl,
scalbn, scalbnf, scalbnl,
scalbln, scalblnf, scalblnl,
cabsf, cabsl, cabs,
cargf, carg, cargl,
conjf, conj, conjl,
cpowf, cpow, cpowl,
csqrtf, csqrt, csqrtl,
cexpf, cexp, cexpl,
clogf, clog, clogl,
csinf, csin, csinl,
ccosf, ccos, ccosl,
ctanf, ctan, ctanl,
casinf, casin, casinl,
cacosf, cacos, cacosl,
catanf, catan, catanl,
index, rindex,
memcmp, memset, memmove,
strcat, strncat, strcpy, strncpy, strcmp, strncmp,
strlen, strstr, strpbrk, strspn, strcspn, strchr, strrchr ;
alloca
PROCEDURE alloca (i: CARDINAL) : ADDRESS ;
memcpy
PROCEDURE memcpy (dest, src: ADDRESS; n: CARDINAL) : ADDRESS ;
isfinite
PROCEDURE isfinite (x: REAL) : BOOLEAN ;
isfinitel
PROCEDURE isfinitel (x: LONGREAL) : BOOLEAN ;
isfinitef
PROCEDURE isfinitef (x: SHORTREAL) : BOOLEAN ;
isinf_sign
PROCEDURE isinf_sign (x: REAL) : BOOLEAN ;
isinf_signl
PROCEDURE isinf_signl (x: LONGREAL) : BOOLEAN ;
isinf_signf
PROCEDURE isinf_signf (x: SHORTREAL) : BOOLEAN ;
sinf
PROCEDURE sinf (x: SHORTREAL) : SHORTREAL ;
sin
PROCEDURE sin (x: REAL) : REAL ;
sinl
PROCEDURE sinl (x: LONGREAL) : LONGREAL ;
cosf
PROCEDURE cosf (x: SHORTREAL) : SHORTREAL ;
cos
PROCEDURE cos (x: REAL) : REAL ;
cosl
PROCEDURE cosl (x: LONGREAL) : LONGREAL ;
atan2f
PROCEDURE atan2f (x, y: SHORTREAL) : SHORTREAL ;
atan2
PROCEDURE atan2 (x, y: REAL) : REAL ;
atan2l
PROCEDURE atan2l (x, y: LONGREAL) : LONGREAL ;
sqrtf
PROCEDURE sqrtf (x: SHORTREAL) : SHORTREAL ;
sqrt
PROCEDURE sqrt (x: REAL) : REAL ;
sqrtl
PROCEDURE sqrtl (x: LONGREAL) : LONGREAL ;
fabsf
PROCEDURE fabsf (x: SHORTREAL) : SHORTREAL ;
fabs
PROCEDURE fabs (x: REAL) : REAL ;
fabsl
PROCEDURE fabsl (x: LONGREAL) : LONGREAL ;
logf
PROCEDURE logf (x: SHORTREAL) : SHORTREAL ;
log
PROCEDURE log (x: REAL) : REAL ;
logl
PROCEDURE logl (x: LONGREAL) : LONGREAL ;
expf
PROCEDURE expf (x: SHORTREAL) : SHORTREAL ;
exp
PROCEDURE exp (x: REAL) : REAL ;
expl
PROCEDURE expl (x: LONGREAL) : LONGREAL ;
log10f
PROCEDURE log10f (x: SHORTREAL) : SHORTREAL ;
log10
PROCEDURE log10 (x: REAL) : REAL ;
log10l
PROCEDURE log10l (x: LONGREAL) : LONGREAL ;
exp10f
PROCEDURE exp10f (x: SHORTREAL) : SHORTREAL ;
exp10
PROCEDURE exp10 (x: REAL) : REAL ;
exp10l
PROCEDURE exp10l (x: LONGREAL) : LONGREAL ;
ilogbf
PROCEDURE ilogbf (x: SHORTREAL) : INTEGER ;
ilogb
PROCEDURE ilogb (x: REAL) : INTEGER ;
ilogbl
PROCEDURE ilogbl (x: LONGREAL) : INTEGER ;
significand
PROCEDURE significand (r: REAL) : REAL ;
significandf
PROCEDURE significandf (s: SHORTREAL) : SHORTREAL ;
significandl
PROCEDURE significandl (l: LONGREAL) : LONGREAL ;
modf
PROCEDURE modf (x: REAL; VAR y: REAL) : REAL ;
modff
PROCEDURE modff (x: SHORTREAL; VAR y: SHORTREAL) : SHORTREAL ;
modfl
PROCEDURE modfl (x: LONGREAL; VAR y: LONGREAL) : LONGREAL ;
nextafter
PROCEDURE nextafter (x, y: REAL) : REAL ;
nextafterf
PROCEDURE nextafterf (x, y: SHORTREAL) : SHORTREAL ;
nextafterl
PROCEDURE nextafterl (x, y: LONGREAL) : LONGREAL ;
nexttoward
PROCEDURE nexttoward (x, y: REAL) : REAL ;
nexttowardf
PROCEDURE nexttowardf (x, y: SHORTREAL) : SHORTREAL ;
nexttowardl
PROCEDURE nexttowardl (x, y: LONGREAL) : LONGREAL ;
scalb
PROCEDURE scalb (x, n: REAL) : REAL ;
scalbf
PROCEDURE scalbf (x, n: SHORTREAL) : SHORTREAL ;
scalbl
PROCEDURE scalbl (x, n: LONGREAL) : LONGREAL ;
scalbn
PROCEDURE scalbn (x: REAL; n: INTEGER) : REAL ;
scalbnf
PROCEDURE scalbnf (x: SHORTREAL; n: INTEGER) : SHORTREAL ;
scalbnl
PROCEDURE scalbnl (x: LONGREAL; n: INTEGER) : LONGREAL ;
scalbln
PROCEDURE scalbln (x: REAL; n: LONGINT) : REAL ;
scalblnf
PROCEDURE scalblnf (x: SHORTREAL; n: LONGINT) : SHORTREAL ;
scalblnl
PROCEDURE scalblnl (x: LONGREAL; n: LONGINT) : LONGREAL ;
cabsf
PROCEDURE cabsf (z: SHORTCOMPLEX) : SHORTREAL ;
cabs
PROCEDURE cabs (z: COMPLEX) : REAL ;
cabsl
PROCEDURE cabsl (z: LONGCOMPLEX) : LONGREAL ;
cargf
PROCEDURE cargf (z: SHORTCOMPLEX) : SHORTREAL ;
carg
PROCEDURE carg (z: COMPLEX) : REAL ;
cargl
PROCEDURE cargl (z: LONGCOMPLEX) : LONGREAL ;
conjf
PROCEDURE conjf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
conj
PROCEDURE conj (z: COMPLEX) : COMPLEX ;
conjl
PROCEDURE conjl (z: LONGCOMPLEX) : LONGCOMPLEX ;
cpowf
PROCEDURE cpowf (base: SHORTCOMPLEX; exp: SHORTREAL) : SHORTCOMPLEX ;
cpow
PROCEDURE cpow (base: COMPLEX; exp: REAL) : COMPLEX ;
cpowl
PROCEDURE cpowl (base: LONGCOMPLEX; exp: LONGREAL) : LONGCOMPLEX ;
csqrtf
PROCEDURE csqrtf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
csqrt
PROCEDURE csqrt (z: COMPLEX) : COMPLEX ;
csqrtl
PROCEDURE csqrtl (z: LONGCOMPLEX) : LONGCOMPLEX ;
cexpf
PROCEDURE cexpf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
cexp
PROCEDURE cexp (z: COMPLEX) : COMPLEX ;
cexpl
PROCEDURE cexpl (z: LONGCOMPLEX) : LONGCOMPLEX ;
clogf
PROCEDURE clogf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
clog
PROCEDURE clog (z: COMPLEX) : COMPLEX ;
clogl
PROCEDURE clogl (z: LONGCOMPLEX) : LONGCOMPLEX ;
csinf
PROCEDURE csinf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
csin
PROCEDURE csin (z: COMPLEX) : COMPLEX ;
csinl
PROCEDURE csinl (z: LONGCOMPLEX) : LONGCOMPLEX ;
ccosf
PROCEDURE ccosf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
ccos
PROCEDURE ccos (z: COMPLEX) : COMPLEX ;
ccosl
PROCEDURE ccosl (z: LONGCOMPLEX) : LONGCOMPLEX ;
ctanf
PROCEDURE ctanf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
ctan
PROCEDURE ctan (z: COMPLEX) : COMPLEX ;
ctanl
PROCEDURE ctanl (z: LONGCOMPLEX) : LONGCOMPLEX ;
casinf
PROCEDURE casinf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
casin
PROCEDURE casin (z: COMPLEX) : COMPLEX ;
casinl
PROCEDURE casinl (z: LONGCOMPLEX) : LONGCOMPLEX ;
cacosf
PROCEDURE cacosf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
cacos
PROCEDURE cacos (z: COMPLEX) : COMPLEX ;
cacosl
PROCEDURE cacosl (z: LONGCOMPLEX) : LONGCOMPLEX ;
catanf
PROCEDURE catanf (z: SHORTCOMPLEX) : SHORTCOMPLEX ;
catan
PROCEDURE catan (z: COMPLEX) : COMPLEX ;
catanl
PROCEDURE catanl (z: LONGCOMPLEX) : LONGCOMPLEX ;
index
PROCEDURE index (s: ADDRESS; c: INTEGER) : ADDRESS ;
rindex
PROCEDURE rindex (s: ADDRESS; c: INTEGER) : ADDRESS ;
memcmp
PROCEDURE memcmp (s1, s2: ADDRESS; n: CARDINAL) : INTEGER ;
memmove
PROCEDURE memmove (s1, s2: ADDRESS; n: CARDINAL) : ADDRESS ;
memset
PROCEDURE memset (s: ADDRESS; c: INTEGER; n: CARDINAL) : ADDRESS ;
strcat
PROCEDURE strcat (dest, src: ADDRESS) : ADDRESS ;
strncat
PROCEDURE strncat (dest, src: ADDRESS; n: CARDINAL) : ADDRESS ;
strcpy
PROCEDURE strcpy (dest, src: ADDRESS) : ADDRESS ;
strncpy
PROCEDURE strncpy (dest, src: ADDRESS; n: CARDINAL) : ADDRESS ;
strcmp
PROCEDURE strcmp (s1, s2: ADDRESS) : INTEGER ;
strncmp
PROCEDURE strncmp (s1, s2: ADDRESS; n: CARDINAL) : INTEGER ;
strlen
PROCEDURE strlen (s: ADDRESS) : INTEGER ;
strstr
PROCEDURE strstr (haystack, needle: ADDRESS) : ADDRESS ;
strpbrk
PROCEDURE strpbrk (s, accept: ADDRESS) : ADDRESS ;
strspn
PROCEDURE strspn (s, accept: ADDRESS) : CARDINAL ;
strcspn
PROCEDURE strcspn (s, accept: ADDRESS) : CARDINAL ;
strchr
PROCEDURE strchr (s: ADDRESS; c: INTEGER) : ADDRESS ;
strrchr
PROCEDURE strrchr (s: ADDRESS; c: INTEGER) : ADDRESS ;
END cbuiltin.