ISO,IEC 10967-3 standard.Language independent arithmetic
.pdfWorking draft
imI (x) imi(I)(x) imc(I)(x)
plusitimesI!c(I)(x; y) negi(I)(x)
negc(I)(x) conjI (x) conji(I)(x) conjc(I)(x) addi(I)(x; y) addI;i(I)(x; y) addi(I);I (x; y) addI;c(I)(x; y) addc(I);I (x; y) addi(I);c(I)(x; y) addc(I);i(I)(x; y) addc(I)(x; y)
subi(I)(x; y) subI;i(I)(x; y) subi(I);I (x; y) subI;c(I)(x; y) subc(I);I (x; y) subi(I);c(I)(x; y) subc(I);i(I)(x; y) subc(I)(x; y)
muli(I)(x; y) mulI;i(I)(x; y) muli(I);I (x; y) mulI;c(I)(x; y) mulc(I);I (x; y) muli(I);c(I)(x; y) mulc(I);i(I)(x; y) mulc(I)(x; y)
eqi(I)(x; y) eqc(I)(x; y) neqi(I)(x; y) neqc(I)(x; y) :absi(I)(x)
:signi(I)(x)
|
ISO/IEC WD 10967-3.1:2001(E) |
Im(x) |
y |
Im(x) |
y |
Im(x) |
y |
..x y |
y |
-x |
y |
-x |
y |
Conjugate(x) |
y |
Conjugate(x) |
y |
Conjugate(x) |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x = y |
y |
x = y |
y |
x /= y |
y |
x /= y |
y |
abs(x) |
y |
sign(x) |
y |
where x and y are expressions of type CINT.
The LIA-3 basic complex oating point operations are listed below, along with the syntax used to invoke them:
itimesF !i(F )(x) |
i |
* |
x |
or |
j |
* |
x |
? |
itimesi(F )!F (x) |
i |
* |
x |
or |
j |
* |
x |
? |
C.1 Ada |
63 |
ISO/IEC WD 10967-3.1:2001(E) |
|
|
|
|
|
|
|
itimesc(F )(x) |
i * x or |
j * x |
|||||
reF (x) |
Re(x) |
|
|
|
|||
rei(F )(x) |
Re(x) |
|
|
|
|||
rec(F )(x) |
Re(x) |
|
|
|
|||
imF (x) |
Im(x) |
|
|
|
|||
imi(F )(x) |
Im(x) |
|
|
|
|||
imc(F )(x) |
Im(x) |
|
|
|
|||
plusitimesc(F )(x; y) |
Compose |
|
From |
|
Cartesian(x,y) |
||
|
|
||||||
plusitimesc(F )(x; y) |
x + i * y |
or x + j * y |
|||||
:::F (x; y) |
Compose |
|
From |
|
Polar(x,y) |
||
|
|
||||||
:::F (u; x; y) |
Compose |
|
From |
|
Polar(x,y,u) |
||
|
|
||||||
negi(F )(x) |
-x |
|
|
|
|
|
|
negc(F )(x) |
-x |
|
|
|
|
|
|
conjF (x) |
Conjugate(x) |
||||||
conji(F )(x) |
Conjugate(x) |
||||||
conjc(F )(x) |
Conjugate(x) |
||||||
addi(F )(x; y) |
x + y |
|
|
|
|||
addF;i(F )(x; y) |
x + y |
|
|
|
|||
addi(F );F (x; y) |
x + y |
|
|
|
|||
addF;c(F )(x; y) |
x + y |
|
|
|
|||
addc(F );F (x; y) |
x + y |
|
|
|
|||
addi(F );c(F )(x; y) |
x + y |
|
|
|
|||
addc(F );i(F )(x; y) |
x + y |
|
|
|
|||
addc(F )(x; y) |
x + y |
|
|
|
|||
subi(F )(x; y) |
x - y |
|
|
|
|||
subF;i(F )(x; y) |
x - y |
|
|
|
|||
subi(F );F (x; y) |
x - y |
|
|
|
|||
subF;c(F )(x; y) |
x - y |
|
|
|
|||
subc(F );F (x; y) |
x - y |
|
|
|
|||
subi(F );c(F )(x; y) |
x - y |
|
|
|
|||
subc(F );i(F )(x; y) |
x - y |
|
|
|
|||
subc(F )(x; y) |
x - y |
|
|
|
|||
muli(F )(x; y) |
x * y |
|
|
|
|||
mulF;i(F )(x; y) |
x * y |
|
|
|
|||
muli(F );F (x; y) |
x * y |
|
|
|
|||
mulF;c(F )(x; y) |
x * y |
|
|
|
|||
mulc(F );F (x; y) |
x * y |
|
|
|
|||
muli(F );c(F )(x; y) |
x * y |
|
|
|
|||
mulc(F );i(F )(x; y) |
x * y |
|
|
|
|||
divi(F )(x; y) |
x |
/ y |
|
|
|
||
divF;i(F )(x; y) |
x |
/ y |
|
|
|
||
divi(F );F (x; y) |
x |
/ y |
|
|
|
||
divF;c(F )(x; y) |
x |
/ y |
|
|
|
||
divc(F );F (x; y) |
x |
/ y |
|
|
|
||
divi(F );c(F )(x; y) |
x |
/ y |
|
|
|
||
divc(F );i(F )(x; y) |
x |
/ y |
|
|
|
Working draft
?
y y
?
y
?
?
?
?
?Not LIA-3...
?Not LIA-3...
y
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
64 |
Example bindings for speci c languages |
Working draft |
ISO/IEC WD 10967-3.1:2001(E) |
eqi(F )(x; y) |
x = y |
? |
|
eqc(F )(x; y) |
x = y |
? |
|
neqi(F )(x; y) |
x /= y |
? |
|
neqc(F )(x; y) |
x /= y |
? |
|
:lti(F )(x; y) |
x |
< y |
? |
:leqi(F )(x; y) |
x |
<= y |
? |
:gti(F )(x; y) |
x |
> y |
? |
:geqi(F )(x; y) |
x |
>= y |
? |
absi(F )(x) |
abs x |
? |
|
absc(F )(x) |
abs x or Modulus(x) |
? |
|
phaseF (x) |
Argument(x) |
y |
|
phasei(F )(x) |
Argument(x) |
? |
|
phasec(F )(x) |
Argument(x) |
? |
|
:phaseuc(F )(u; x) |
Argument(x,u) |
? |
|
signi(F )(x) |
Sign(x) |
y |
where x, y, and z are expressions of type CFLT.
The parameters for LIA-3 operations approximating real complex valued functions can be accessed by the following syntax:
max err mulc(F ) max err divc(F ) max err expc(F ) max err powerc(F ) max err sinc(F ) max err tanc(F )
Err |
|
Mul(x) |
y |
|
Err |
|
Div(x) |
y |
|
Err |
|
Exp(x) |
y |
|
Err |
|
Power(x) |
y |
|
Err |
|
Sin(x) |
y |
|
Err |
|
Tan(x) |
y |
where x is an expression of type CFLT. Several of the parameter functions are constant for each type (and library), the argument is then used only to di erentiate among the oating point types.
The LIA-3 elementary oating point operations are listed below, along with the syntax used to invoke them:
mulc(F )(x; y) |
x * y |
? |
|
divc(F )(x; y) |
x |
/ y |
? |
signc(F )(x) |
Sign(x) |
y |
|
expi(F )(x) |
Exp(x) |
? |
|
cisc(F )(x) |
Exp(x) |
? |
|
expc(F )(x) |
Exp(x) |
? |
|
:powerc(F );F (b; y) |
b |
** y |
? |
:powerF;c(F )(b; x) |
b |
** x |
? |
powerc(F )(x; y) |
x ** y |
? |
|
sqrtF !c(F )(x) |
Sqrtc(x) |
y |
|
sqrti(F )!c(F )(x) |
Sqrt(x) |
y |
|
sqrtc(F )(x) |
Sqrt(x) |
? |
|
lnF !c(F )(x) |
Logc(x) |
y |
C.1 Ada |
65 |
ISO/IEC WD 10967-3.1:2001(E) |
Working draft |
lni(F )!c(F )(x) |
Log(x) |
y |
lnc(F )(x) |
Log(x) |
? |
logbasec(F )(b; x) |
Log(x, b) (note parameter order) |
y |
radi(F )(x) |
Rad(x) |
y |
radc(F )(x) |
Rad(x) |
y |
sini(F )(x) |
Sin(x) |
y |
sinc(F )(x) |
Sin(x) |
? |
cosi(F )(x) |
Cos(x) |
y |
cosc(F )(x) |
Cos(x) |
? |
tani(F )(x) |
Tan(x) |
y |
tanc(F )(x) |
Tan(x) |
? |
coti(F )(x) |
Cot(x) |
y |
cotc(F )(x) |
Cot(x) |
? |
seci(F )(x) |
Sec(x) |
y |
secc(F )(x) |
Sec(x) |
y |
csci(F )(x) |
Csc(x) |
y |
cscc(F )(x) |
Csc(x) |
y |
arcsinF !c(F )(x) |
ArcSinc(x) |
y |
arcsini(F )(x) |
ArcSin(x) |
y |
arcsinc(F )(x) |
ArcSin(x) |
? |
arccosF !c(F )(x) |
ArcCosc(x) |
y |
arccosi(F )!c(F )(x) |
ArcCos(x) |
? |
arccosc(F )(x) |
ArcCos(x) |
? |
arctani(F )(x) |
ArcTan(x) |
y |
arctanc(F )(x) |
ArcTan(x) |
? |
arccoti(F )(x) |
ArcCot(x) |
y |
arccotc(F )(x) |
ArcCot(x) |
y |
arcsecF !c(F )(x) |
ArcSecc(x) |
y |
arcseci(F )!c(F )(x) |
ArcSec(x) |
y |
arcsecc(F )(x) |
ArcSec(x) |
y |
arccscF !c(F )(x) |
ArcCscc(x) |
y |
arccsci(F )(x) |
ArcCsc(x) |
y |
arccscc(F )(x) |
ArcCsc(x) |
y |
radhF (x) |
RadH(x) |
y |
radhi(F )(x) |
RadH(x) |
y |
radhc(F )(x) |
RadH(x) |
y |
sinhi(F )(x) |
SinH(x) |
y |
sinhc(F )(x) |
SinH(x) |
? |
coshi(F )(x) |
CosH(x) |
y |
coshc(F )(x) |
CosH(x) |
? |
tanhi(F )(x) |
TanH(x) |
y |
tanhc(F )(x) |
TanH(x) |
? |
66 |
Example bindings for speci c languages |
Working draft |
|
ISO/IEC WD 10967-3.1:2001(E) |
cothi(F )(x) |
CotH(x) |
y |
cothc(F )(x) |
CotH(x) |
? |
sechi(F )(x) |
SecH(x) |
y |
sechc(F )(x) |
SecH(x) |
y |
cschi(F )(x) |
CscH(x) |
y |
cschc(F )(x) |
CscH(x) |
y |
arcsinhi(F )(x) |
ArcSinH(x) |
y |
arcsinhi(F )!c(F )(x) |
ArcSinHc(x) |
y |
arcsinhc(F )(x) |
ArcSinH(x) |
? |
arccoshF !c(F )(x) |
ArcCosHc(x) |
y |
arccoshi(F )!c(F )(x) |
ArcCosH(x) |
? |
arccoshc(F )(x) |
ArcCosH(x) |
? |
arctanhF !c(F )(x) |
ArcTanHc(x) |
y |
arctanhi(F )(x) |
ArcTanH(x) |
y |
arctanhc(F )(x) |
ArcTanH(x) |
? |
arccothF !c(F )(x) |
ArcCotHc(x) |
y |
arccothi(F )(x) |
ArcCotH(x) |
y |
arccothc(F )(x) |
ArcCotH(x) |
? |
arcsechF !c(F )(x) |
ArcSecHc(x) |
y |
arcsechi(F )!c(F )(x) |
ArcSecH(x) |
y |
arcsechc(F )(x) |
ArcSecH(x) |
y |
arccschi(F )(x) |
ArcCscH(x) |
y |
arccschF !c(F )(x) |
ArcCscHc(x) |
y |
arccschc(F )(x) |
ArcCscH(x) |
y |
where x and y are expressions of type CFLT.
Arithmetic value conversions in Ada are always explicit.
convertI!c(I)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
converti(I)!c(I)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
converti(I)!i(I0)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
convertc(I)!c(I0)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
convertF !c(F )(x) |
Compose |
|
From |
|
Cartesian(x) |
? |
|||
|
|
||||||||
convertF !c(F )(x) |
x + i * Im(x) or x + j * Im(x) |
y |
|||||||
converti(F )!c(F )(x) |
Compose |
|
From |
|
Cartesian(x) |
? |
|||
|
|
||||||||
converti(F )!c(F )(x) |
Re(x) + x |
? |
|||||||
converti(F )!i(F 0)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
convertc(F )!c(F 0)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
converti(F )!i(D)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
convertc(F )!c(D)(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
converti(D)!i(F )(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
convertc(D)!c(F )(x) |
Compose |
|
From |
|
Cartesian(x) |
y |
|||
|
|
||||||||
Numerals...: |
|
|
|
|
|
|
|
||
:imaginary |
|
uniti(I) |
... |
|
|
|
|
|
y |
|
|
|
|
|
|
||||
:imaginary |
|
unitc(I) |
... |
|
|
|
|
|
y |
|
|
|
|
|
|
C.1 Ada |
67 |
ISO/IEC WD 10967-3.1:2001(E) |
|
Working draft |
|||
:imaginary |
|
uniti(F ) |
i or |
j |
? |
|
|||||
:imaginary |
|
unitc(F ) |
-0+i |
or -0+j |
? |
|
C.2 C
The programming language C is de ned by ISO/IEC 9899:1999, Information technology { Programming languages { C [13].
An implementation should follow all the requirements of LIA-3 unless otherwise speci ed by this language binding.
The operations or parameters marked \y" are not part of the language and should be provided by an implementation that wishes to conform to the LIA-3 for that operation. For each of the marked items a suggested identi er is provided.
The LIA datatype Boolean is implemented by the C datatype int (1 = true and 0 = false), or the new Bool datatype.
Every implementation of C has integral datatypes int, long int, unsigned int, and unsigned long int. INT is used below to designate one of the integer datatypes.
C99 has three complex oating point datatypes: float Complex, double Complex, and long double Complex, and may have three imaginary oating point datatypes: float Imaginary, double Imaginary, and long double Imaginary. Complex and Imaginary are usually written complex and imaginary respectively.) CFLT is used below to designate one of the complex or imaginary (as appropriate for the operation) oating point datatypes. The operations marked \(?)" are available only when the implementation provides imaginary oating point datatypes.
The LIA-3 complex integer operations are listed below, along with the syntax used to invoke them:
itimesI!i(I)(x) itimesi(I)(x) itimesc(I)(x) reI (x)
rei(I)(x) rec(I)(x) imI (x) imi(I)(x) imc(I)(x)
plusitimesI!c(I)(x; y) negi(I)(x)
negc(I)(x) conjI (x) conji(I)(x) conjc(I)(x) addi(I)(x; y) addI;i(I)(x; y) addi(I);I (x; y) addI;c(I)(x; y) addc(I);I (x; y) addi(I);c(I)(x; y)
I * x |
y |
..x |
y |
..x |
y |
creali(x) |
y |
creali(x) |
y |
creali(x) |
y |
cimagi(x) |
y |
cimagi(x) |
y |
cimagi(x) |
y |
..x y |
y |
-x |
y |
-x |
y |
conji(x) |
y |
conji(x) |
y |
conji(x) |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
x + y |
y |
68 |
Example bindings for speci c languages |
Working draft
addc(I);i(I)(x; y) addc(I)(x; y)
subi(I)(x; y) subI;i(I)(x; y) subi(I);I (x; y) subI;c(I)(x; y) subc(I);I (x; y) subi(I);c(I)(x; y) subc(I);i(I)(x; y) subc(I)(x; y)
muli(I)(x; y) mulI;i(I)(x; y) muli(I);I (x; y) mulI;c(I)(x; y) mulc(I);I (x; y) muli(I);c(I)(x; y) mulc(I);i(I)(x; y) mulc(I)(x; y)
eqi(I)(x; y) eqc(I)(x; y) neqi(I)(x; y) neqc(I)(x; y) :absi(I)(x)
:signi(I)(x)
|
ISO/IEC WD 10967-3.1:2001(E) |
x + y |
y |
x + y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x - y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x * y |
y |
x == y |
y |
x == y |
y |
x != y |
y |
x != y |
y |
cabsi(x) |
y |
signi(x) |
y |
where x and y are expressions of type CINT.
The LIA-3 non-transcendental complex oating point operations are listed below, along with the syntax used to invoke them:
itimesF !i(F )(x) itimesi(F )!F (x) itimesc(F )(x) reF (x)
rei(F )(x) rec(F )(x) imF (x) imi(F )(x) imc(F )(x)
plusitimesc(F )(x; y) negi(F )(x)
negc(F )(x) conjF (x) conji(F )(x) conjc(F )(x)
addi(F )(x; y)
I * x |
|
? |
I * x |
|
? |
I * x |
|
? |
crealt(x) |
|
y |
crealt(x) |
|
y |
crealt(x) or creal(x) |
? |
|
cimagt(x) |
|
y |
cimagt(x) |
|
y |
cimagt(x) or |
cimag(x) |
? |
x + I * y |
|
? |
- x |
|
(?) |
- x |
|
? |
conjt(x) |
|
y |
conjt(x) or conj(x) |
(?) |
|
conjt(x) or |
conj(x) |
? |
x + y |
|
? |
C.2 C |
69 |
ISO/IEC WD 10967-3.1:2001(E) |
|
Working draft |
|
addF;i(F )(x; y) |
x + y |
? |
|
addi(F );F (x; y) |
x + y |
? |
|
addF;c(F )(x; y) |
x + y |
? |
|
addc(F );F (x; y) |
x + y |
? |
|
addi(F );c(F )(x; y) |
x + y |
? |
|
addc(F );i(F )(x; y) |
x + y |
? |
|
addc(F )(x; y) |
x + y |
? |
|
subi(F )(x; y) |
x - y |
? |
|
subF;i(F )(x; y) |
x - y |
? |
|
subi(F );F (x; y) |
x - y |
? |
|
subF;c(F )(x; y) |
x - y |
? |
|
subc(F );F (x; y) |
x - y |
? |
|
subi(F );c(F )(x; y) |
x - y |
? |
|
subc(F );i(F )(x; y) |
x - y |
? |
|
subc(F )(x; y) |
x - y |
? |
|
muli(F )(x; y) |
x * y |
? |
|
mulF;i(F )(x; y) |
x * y |
? |
|
muli(F );F (x; y) |
x * y |
? |
|
mulF;c(F )(x; y) |
x * y |
? |
|
mulc(F );F (x; y) |
x * y |
? |
|
muli(F );c(F )(x; y) |
x * y |
? |
|
mulc(F );i(F )(x; y) |
x * y |
? |
|
divi(F )(x; y) |
x |
/ y |
? |
divF;i(F )(x; y) |
x |
/ y |
? |
divi(F );F (x; y) |
x |
/ y |
? |
divF;c(F )(x; y) |
x |
/ y |
? |
divc(F );F (x; y) |
x |
/ y |
? |
divi(F );c(F )(x; y) |
x |
/ y |
? |
divc(F );i(F )(x; y) |
x |
/ y |
? |
eqi(F )(x; y) |
x == y |
(?) |
|
eqc(F )(x; y) |
x == y |
? |
|
neqi(F )(x; y) |
x != y |
(?) |
|
neqc(F )(x; y) |
x != y |
? |
|
absi(F )(x) |
cabst(x) or cabs(x) |
(?) |
|
absc(F )(x) |
cabst(x) or cabs(x) |
? |
|
phaseF (x) |
cargt(x) |
y |
|
phasei(F )(x) |
cargt(x) or carg(x) |
(?) |
|
phasec(F )(x) |
cargt(x) or carg(x) |
? |
|
:phaseuc(F )(u; x) |
cargt(x,u) |
y |
|
signi(F )(x) |
csignt(x) |
y |
|
:::c(F )(x) |
cprojt(x) or cproj(x) |
? Not LIA-3. |
where x, y and z are expressions of the same complex oating point type.
The LIA-3 parameters for operations approximating complex real valued transcendental functions can be accessed by the following syntax:
70 |
Example bindings for speci c languages |
Working draft
max err mulc(F ) max err divc(F ) max err expc(F ) max err powerc(F ) max err sinc(F ) max err tanc(F )
where t ...
|
|
|
ISO/IEC WD 10967-3.1:2001(E) |
err |
|
cmult |
y |
err |
|
cdivt |
y |
err |
|
cexpt |
y |
err |
|
cpowert |
y |
err |
|
csint |
y |
err |
|
ctant |
y |
The LIA-3 elementary complex oating point operations are listed below, along with the syntax used to invoke them:
mulc(F )(x; y) divc(F )(x; y) signc(F )(x)
expi(F )(x) cisc(F )(x) expc(F )(x)
:powerc(F );F (b; y) :powerF;c(F )(b; x) powerc(F )(b; y) powc(F )(b; y)
sqrtF !c(F )(x)
sqrti(F )!c(F )(x)
sqrtc(F )(x)
lnF !c(F )(x)
lni(F )!c(F )(x) lni(F )!c(F )(x)
lnc(F )(x) :logbasec(F )(b; x)
radi(F )(x) radc(F )(x)
sini(F )(x) sinc(F )(x) cosi(F )(x) cosc(F )(x) tani(F )(x) tanc(F )(x) coti(F )(x) cotc(F )(x) seci(F )(x) secc(F )(x) csci(F )(x) cscc(F )(x)
x * y |
? |
x / y |
? |
csignt(x) |
y |
exp(x) |
? |
exp(I*x) |
? |
cexpt(x) or exp(x) |
? |
powr(b, y) |
y |
powr(b, x) |
y |
cpowert(b, y) |
y |
cpowt(b, y) or pow(b, y) |
? Not LIA-3! |
sqrtc(x) |
y |
sqrt(x) |
? |
csqrtt(x) or sqrt(x) |
? |
log(abs(x))+I*atan2(cimag(x),x)) |
y |
log(abs(x))+I*atan2(cimag(x),creal(x))y |
|
log(x) |
? |
clogt(x) or log(x) |
? |
clogbaset(b, x) |
y |
radiant(x) |
y |
radiant(x) |
y |
sin(x) |
? |
csint(x) or sin(x) |
? |
cos(x) |
? |
ccost(x) or cos(x) |
? |
tant(x) |
? |
ctant(x) or tan(x) |
? |
cot(x) |
y |
ccott(x) |
y |
sec(x) |
y |
csect(x) |
y |
csc(x) |
y |
ccsct(x) |
y |
C.2 C |
71 |
ISO/IEC WD 10967-3.1:2001(E)
arcsinF !c(F )(x) arcsini(F )(x) arcsinc(F )(x) arccosF !c(F )(x) arccosi(F )!c(F )(x) arccosc(F )(x) arctani(F )(x) arctanc(F )(x) arccoti(F )(x) arccotc(F )(x) arcsecF !c(F )(x) arcseci(F )!c(F )(x) arcsecc(F )(x) arccscF !c(F )(x) arccsci(F )(x) arccscc(F )(x)
radhF (x) radhi(F )(x) radhc(F )(x)
sinhi(F )(x) sinhc(F )(x) coshi(F )(x) coshc(F )(x) tanhi(F )(x) tanhc(F )(x) cothi(F )(x) cothc(F )(x) sechi(F )(x) sechc(F )(x) cschi(F )(x) cschc(F )(x)
arcsinhi(F )(x) arcsinhi(F )!c(F )(x) arcsinhc(F )(x) arccoshF !c(F )(x) arccoshi(F )!c(F )(x) arccoshc(F )(x) arctanhF !c(F )(x) arctanhi(F )(x) arctanhc(F )(x) arccothF !c(F )(x) arccothi(F )(x) arccothc(F )(x) arcsechF !c(F )(x)
asinc(x) asin(x)
casint(x) or asin(x) acosc(x)
acos(x)
cacost(x) or acos(x) atan(x)
catant(x) or atan(x) acot(x)
cacott(x) asecc(x) asecc(x) casect(x) acscc(x) acsc(x) cacsct(x)
radianht(x) radianht(x) radianht(x)
sinh(x)
csinht(x) or sinh(x) cosh(x)
ccosht(x) or cosh(x) tanh(x)
ctanht(x) or tanh(x) coth(x)
ccotht(x) sech(x) csecht(x) csch(x) ccscht(x)
asinh(x) asinhc(x)
casinht(x) or asinh(x) acoshc(x)
acosh(x)
cacosht(x) or acosh(x) atanhc(x)
atanh(x)
catanht(x) or atanh(x) acothc(x)
acoth(x) cacotht(x) asechc(x)
Working draft
y
?
?
y
?
?
?
?
y y y y y y y y
y y y
?
?
?
?
?
?
y y y y y y
?
y
?
?
?
?
y
?
?
y y y y
72 |
Example bindings for speci c languages |