diff -uNr dmd-0.133/dmd/html/d/acknowledgements.html dmd-0.134/dmd/html/d/acknowledgements.html --- dmd-0.133/dmd/html/d/acknowledgements.html 2005-09-18 11:39:24.000000000 +0200 +++ dmd-0.134/dmd/html/d/acknowledgements.html 2005-09-28 16:31:40.000000000 +0200 @@ -45,7 +45,7 @@ target="_top" title="Read/write comments and feedback">Comments
-Last update Sun Sep 18 2005 +Last update Wed Sep 28 2005
@@ -114,11 +114,13 @@

Acknowledgements

-The following people have contributed to the D language project; +The following (incomplete) list of people have contributed to the D language +project; with ideas, code, expertise, marketing, inspiration and moral support.

Kris Bell, + Don Clugston, Hauke Duden, Bruce Eckel, Eric Engstrom, @@ -135,10 +137,12 @@ Antonio Monteiro, Paul Nash, Pat Nelson, + Derek Parnell, Burton Radons, Tim Rentsch, Fabio Riccardi, Bob Taniguchi, + Bob W, John Whited, Matthew Wilson, Peter Zatloukal diff -uNr dmd-0.133/dmd/html/d/changelog.html dmd-0.134/dmd/html/d/changelog.html --- dmd-0.133/dmd/html/d/changelog.html 2005-09-24 19:33:04.000000000 +0200 +++ dmd-0.134/dmd/html/d/changelog.html 2005-09-28 16:44:18.000000000 +0200 @@ -45,7 +45,7 @@ target="_top" title="Read/write comments and feedback">Comments
-Last update Sat Sep 24 2005 +Last update Wed Sep 28 2005


@@ -115,6 +115,7 @@
+

+ What's New for + D 0.134 +

+ +Sep 28, 2005 +

+ +

New/Changed Features

+ + +

Ddoc

+ + +

Bugs Fixed

+ + +

What's New for D 0.133 diff -uNr dmd-0.133/dmd/html/d/ddoc.html dmd-0.134/dmd/html/d/ddoc.html --- dmd-0.133/dmd/html/d/ddoc.html 2005-09-24 19:33:26.000000000 +0200 +++ dmd-0.134/dmd/html/d/ddoc.html 2005-09-28 16:59:16.000000000 +0200 @@ -45,7 +45,7 @@ target="_top" title="Read/write comments and feedback">Comments
-Last update Sat Sep 24 2005 +Last update Wed Sep 28 2005

@@ -626,8 +626,9 @@ in section text it is replaced with NAME's corresponding replacment text. The replacement text is then recursively scanned for more macros. - If a macro is recursively encountered, only one level of recursion - is performed. + If a macro is recursively encountered, with no argument or with + the same argument text as the enclosing macro, it is replaced + with no text. Macro invocations that cut across replacement text boundaries are not expanded. If the macro name is undefined, the replacement text has no characters @@ -636,9 +637,13 @@ expanded, add an extra $ as in: $(NAME). The extra $ will be elided.

- Macros can have an argument. Any text from the end of the identifier - to the closing ')' is the argument. A $0 in the replacement text is + Macros can have arguments. Any text from the end of the identifier + to the closing ')' is the $0 argument. A $0 in the replacement text is replaced with the argument text. + If there are commas in the argument text, $1 will represent the + argument text up to the first comma, $2 from the first comma to + the second comma, etc., up to $9. + $+ represents the text from the first comma to the closing ')'. The argument text can contain nested parentheses, "" or '' strings, comments, or tags.

@@ -686,6 +691,8 @@ BIG = <big>$0</big> SMALL = <small>$0</small> BR = <br> +LINK = <a href="$0">$0</a> +LINK2 = <a href="$1">$+</a> RED = <font color=red>$0</font> BLUE = <font color=blue>$0</font> @@ -707,12 +714,38 @@ DDOC_DECL = $(DT $(BIG $0)) DDOC_DECL_DD = $(DD $0) DDOC_SECTIONS = $0 -DDOC_SUMMARY = $0 -DDOC_DESCRIPTION = $0 -DDOC_SECTION_H = $(P $(B $0)) -DDOC_SECTION = $0 +DDOC_SUMMARY = $0$(BR)$(BR) +DDOC_DESCRIPTION = $0$(BR)$(BR) +DDOC_AUTHORS = $(B Authors:)$(BR) + $0$(BR)$(BR) +DDOC_BUGS = $(RED BUGS:)$(BR) + $0$(BR)$(BR) +DDOC_COPYRIGHT = $(B Copyright:)$(BR) + $0$(BR)$(BR) +DDOC_DATE = $(B Date:)$(BR) + $0$(BR)$(BR) +DDOC_DEPRECATED = $(RED Deprecated:)$(BR) + $0$(BR)$(BR) +DDOC_EXAMPLES = $(B Examples:)$(BR) + $0$(BR)$(BR) +DDOC_HISTORY = $(B History:)$(BR) + $0$(BR)$(BR) +DDOC_LICENSE = $(B License:)$(BR) + $0$(BR)$(BR) +DDOC_RETURNS = $(B Returns:)$(BR) + $0$(BR)$(BR) +DDOC_SEE_ALSO = $(B See Also:)$(BR) + $0$(BR)$(BR) +DDOC_STANDARDS = $(B Standards:)$(BR) + $0$(BR)$(BR) +DDOC_THROWS = $(B Throws:)$(BR) + $0$(BR)$(BR) +DDOC_VERSION = $(B Version:)$(BR) + $0$(BR)$(BR) +DDOC_SECTION_H = $(B $0)$(BR)$(BR) +DDOC_SECTION = $0$(BR)$(BR) DDOC_MEMBERS = $(DL $0) -DDOC_PARAMS = $(P $(TABLE $0)) +DDOC_PARAMS = $(TABLE $0)$(BR)$(BR) DDOC_PARAM_ROW = $(TR $0) DDOC_PARAM_ID = $(TD $0) DDOC_PARAM_DESC = $(TD $0) @@ -748,6 +781,8 @@

BIG argument is one font size bigger
SMALL argument is one font size smaller
BR start new line +
LINK generate clickable link on argument +
LINK2 generate clickable link, first arg is address
RED argument is set to be red
BLUE argument is set to be blue
GREEN argument is set to be green @@ -796,11 +831,14 @@
DDOC_DESCRIPTION Highlighting of the description section. +
DDOC_AUTHORS .. DDOC_VERSION + Highlighting of the corresponding standard section. +
DDOC_SECTION_H - Highlighting of the section name. + Highlighting of the section name of a non-standard section.
DDOC_SECTION - Highlighting of the contents of a section. + Highlighting of the contents of a non-standard section.
DDOC_MEMBERS Highlighting of all the members of a class, struct, etc. diff -uNr dmd-0.133/dmd/html/d/phobos/object.html dmd-0.134/dmd/html/d/phobos/object.html --- dmd-0.133/dmd/html/d/phobos/object.html 2005-08-22 22:42:58.000000000 +0200 +++ dmd-0.134/dmd/html/d/phobos/object.html 2005-09-28 23:22:12.000000000 +0200 @@ -1,239 +1,318 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Digital Mars - The D Programming Language - object - - - - -www.digitalmars.com - -Home -| Search -| D -| Comments - -
-Last update Mon Aug 22 2005 -
- - - -
-
-
- - - - - -
-
-
D
-
Language
-
Phobos
-
Comparisons


- -object
-
- -std
std.base64
std.boxer
std.compiler
std.conv
std.ctype
std.date
std.file
std.format
std.gc
std.intrinsic
std.math
std.md5
std.mmfile
std.openrj
std.outbuffer
std.path
std.process
std.random
std.recls
std.regexp
std.socket
std.socketstream
std.stdint
std.stdio
std.cstream
std.stream
std.string
std.system
std.thread
std.uri
std.utf
std.zip
std.zlib
-
-std.windows
-
-std.linux
-
-std.c
std.c.stdio
-
-std.c.windows
-
-std.c.linux
-
-
-
- - -

object

- -This module is implicitly imported. - -
- -
alias size_t -
An unsigned integral type large enough to span the memory - space. Use for array indices and pointer offsets for maximal portability - to architectures that have different memory address ranges. - This is analogous to C's size_t. -

- -

alias ptrdiff_t -
A signed integral type large enough to span the memory - space. Use for pointer differences and for size_t - differences for maximal portability - to architectures that have different memory address ranges. - This is analogous to C's ptrdiff_t. -

- -

int printf(char* format, ...); -
C's printf function. -

- -

class Object -
All class objects in D inherit from Object. -

-

-
char[] toString() -
Convert Object to a human readable string. -

- -

uint toHash() -
Compute hash function for Object. -

- -

int opCmp(Object obj) -
Compare with another Object obj. Returns: -
-
<0 for (this < obj) -
=0 for (this == obj) -
>0 for (this > obj) -
-

- -

int opEquals(Object obj) -
Returns !=0 if this object does have the same - contents as obj. -

-

- -
class ClassInfo -
Runtime type information about a class. - Can be retrieved for any class type or instance by using - the .classinfo property. -

- -

class TypeInfo -
Runtime type information about a type. - Can be retrieved for any type using a - TypeidExpression. -

- -

class Exception -
All recoverable exceptions should be derived from class - Exception. -

-

-
this(char[] msg) -
Constructor; msg is a descriptive message - for the exception. -
-

- -

class Error -
All irrecoverable exceptions should be derived from class - Error. -

-

-
this(char[] msg) -
Constructor; msg is a descriptive message - for the error. -
-

- -

- - -
-

Feedback and Comments

- - Add feedback and comments regarding this - page. - -
-Copyright © 1999-2005 by Digital Mars, All Rights Reserved

- - - - - - - - - - + + + + + + + +Digital Mars - The D Programming Language - object + + + + +www.digitalmars.com + +Home +| Search +| D + +| Comments + +
+Last update Wed Sep 28 23:22:10 2005 + +


+ + + +
+
+
+ + + + + +
+
+
D
+
Language
+
Phobos
+
Comparisons


+ +object
+
+ +std
std.base64
std.boxer
std.compiler
std.conv
std.ctype
std.date
std.file
std.format
std.gc
std.intrinsic
std.math
std.md5
std.mmfile
std.openrj
std.outbuffer
std.path
std.process
std.random
std.recls
std.regexp
std.socket
std.socketstream
std.stdint
std.stdio
std.cstream
std.stream
std.string
std.system
std.thread
std.uri
std.utf
std.zip
std.zlib
+
+std.windows
+
+std.linux
+
+std.c
std.c.stdio
+
+std.c.windows
+
+std.c.linux
+
+
+
+ + +

object

+ +
+ +Forms the symbols available to all D programs. Includes + Object, which is the root of the class object heirarchy. +

+This module is implicitly imported. +

+ +
alias bool; +
+
Standard boolean type. Implemented as a bit type. +

+ +
+
class Object; +
+
All D class objects inherit from Object. + +

+ +
char[] toString(); +
+
Convert Object to a human readable string. + +

+ +
+
uint toHash(); +
+
Compute hash function for Object. + +

+ +
+
int opCmp(Object o); +
+
Compare with another Object obj. +

+Returns:
+ + + +
this < obj < 0
this == obj 0
this > obj > 0
+ +

+ +
+
int opEquals(Object o); +
+
Returns !=0 if this object does have the same contents as obj. + +

+ +
+
+
+
struct Interface; +
+
Information about an interface. + +

+ +
ClassInfo classinfo; +
+
.classinfo for this interface +

+ +
+
+
+
class ClassInfo; +
+
Runtime type information about a class. Can be retrieved for any class type + or instance by using the .classinfo property. + +

+ +
byte[] init; +
+
class static initializer + (init.length gives size in bytes of class) + +

+ +
+
char[] name; +
+
class name +

+ +
+
void*[] vtbl; +
+
virtual function pointer table +

+ +
+
Interface [] interfaces; +
+
interfaces this class implements +

+ +
+
ClassInfo base; +
+
base class +

+ +
+
+
+
class TypeInfo; +
+
Runtime type information about a type. + Can be retrieved for any type using a + TypeidExpression. + +

+ +
uint getHash(void* p); +
+
Returns a hash of the instance of a type. +

+ +
+
int equals(void* p1, void* p2); +
+
Compares two instances for equality. +

+ +
+
int compare(void* p1, void* p2); +
+
Compares two instances for <, ==, or >. +

+ +
+
uint tsize(); +
+
Returns size of the type. +

+ +
+
void swap(void* p1, void* p2); +
+
Swaps two instances of the type. +

+ +
+
+
+
class Exception; +
+
All recoverable exceptions should be derived from class Exception. + +

+ +
this(char[] msg); +
+
Constructor; msg is a descriptive message for the exception. + +

+ +
+
+
+
class Error: object.Exception; +
+
All irrecoverable exceptions should be derived from class Error. + +

+ +
this(char[] msg); +
+
Constructor; msg is a descriptive message for the exception. + +

+ +
+
+
+
+ +
+ + +
+

Feedback and Comments

+ + Add feedback and comments regarding this + page. + +
+Copyright © 1999-2005 by Digital Mars, All Rights Reserved
+Page generated by Ddoc.
+

+ + + + + + + + + + + diff -uNr dmd-0.133/dmd/html/d/phobos/std_base64.html dmd-0.134/dmd/html/d/phobos/std_base64.html --- dmd-0.133/dmd/html/d/phobos/std_base64.html 2005-08-22 22:42:58.000000000 +0200 +++ dmd-0.134/dmd/html/d/phobos/std_base64.html 2005-09-28 23:22:12.000000000 +0200 @@ -1,158 +1,224 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Digital Mars - The D Programming Language - std.base64 - - - - -www.digitalmars.com - -Home -| Search -| D -| Comments - -
-Last update Mon Aug 22 2005 -


- - - -
-
-
- - - - - -
-
-
D
-
Language
-
Phobos
-
Comparisons


- -object
-
- -std
std.base64
std.boxer
std.compiler
std.conv
std.ctype
std.date
std.file
std.format
std.gc
std.intrinsic
std.math
std.md5
std.mmfile
std.openrj
std.outbuffer
std.path
std.process
std.random
std.recls
std.regexp
std.socket
std.socketstream
std.stdint
std.stdio
std.cstream
std.stream
std.string
std.system
std.thread
std.uri
std.utf
std.zip
std.zlib
-
-std.windows
-
-std.linux
-
-std.c
std.c.stdio
-
-std.c.windows
-
-std.c.linux
-
-
-
- - -

std.base64

- - -Encodes/decodes base64 data. - - -
-

Feedback and Comments

- - Add feedback and comments regarding this - page. - -
-Copyright © 1999-2005 by Digital Mars, All Rights Reserved

- - - - - - - - - - - - + + + + + + + +Digital Mars - The D Programming Language - std.base64 + + + + +www.digitalmars.com + +Home +| Search +| D + +| Comments + +
+Last update Wed Sep 28 23:22:10 2005 + +


+ + + +
+
+
+ + + + + +
+
+
D
+
Language
+
Phobos
+
Comparisons


+ +object
+
+ +std
std.base64
std.boxer
std.compiler
std.conv
std.ctype
std.date
std.file
std.format
std.gc
std.intrinsic
std.math
std.md5
std.mmfile
std.openrj
std.outbuffer
std.path
std.process
std.random
std.recls
std.regexp
std.socket
std.socketstream
std.stdint
std.stdio
std.cstream
std.stream
std.string
std.system
std.thread
std.uri
std.utf
std.zip
std.zlib
+
+std.windows
+
+std.linux
+
+std.c
std.c.stdio
+
+std.c.windows
+
+std.c.linux
+
+
+
+ + +

std.base64

+ +
+ +Encodes/decodes MIME base64 data. +

+References:

+Wikipedia Base64
+ RFC 2045
+ +

+ +
class Base64Exception: object.Exception; +
+


+
+
+
class Base64CharException: std.base64.Base64Exception; +
+


+
+
+
uint encodeLength(uint slen); +
+
Returns the number of bytes needed to encode a string of length slen. + +

+ +
+
char[] encode(char[] str, char[] buf); +
+
Encodes str[] and places the result in buf[]. +

+ + + + +
char[] strstring to encode
char[] bufdestination buffer, must be large enough for the result.


+Returns:
+slice into buf[] representing encoded result + +

+ +
+
char[] encode(char[] str); +
+
Encodes str[] and returns the result. + +

+ +
+
uint decodeLength(uint elen); +
+
Returns the number of bytes needed to decode an encoded string of this + length. + +

+ +
+
char[] decode(char[] estr, char[] buf); +
+
Decodes str[] and places the result in buf[]. +

+ + + + +
strstring to encode
char[] bufdestination buffer, must be large enough for the result.


+Returns:
+slice into buf[] representing encoded result +

+Errors:

+Throws Base64Exception on invalid base64 encoding in estr[]. + Throws Base64CharException on invalid base64 character in estr[]. + +

+ +
+
char[] decode(char[] estr); +
+
Decodes estr[] and returns the result. +

+Errors:

+Throws Base64Exception on invalid base64 encoding in estr[]. + Throws Base64CharException on invalid base64 character in estr[]. + +

+ +
+
+ +
+ + +
+

Feedback and Comments

+ + Add feedback and comments regarding this + page. + +
+Copyright © 1999-2005 by Digital Mars, All Rights Reserved
+Page generated by Ddoc.
+

+ + + + + + + + + + + diff -uNr dmd-0.133/dmd/html/d/phobos/std_compiler.html dmd-0.134/dmd/html/d/phobos/std_compiler.html --- dmd-0.133/dmd/html/d/phobos/std_compiler.html 2005-08-22 22:42:58.000000000 +0200 +++ dmd-0.134/dmd/html/d/phobos/std_compiler.html 2005-09-28 23:22:12.000000000 +0200 @@ -1,190 +1,181 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Digital Mars - The D Programming Language - std.compiler - - - - -www.digitalmars.com - -Home -| Search -| D -| Comments - -
-Last update Mon Aug 22 2005 -


- - - -
-
-
- - - - - -
-
-
D
-
Language
-
Phobos
-
Comparisons


- -object
-
- -std
std.base64
std.boxer
std.compiler
std.conv
std.ctype
std.date
std.file
std.format
std.gc
std.intrinsic
std.math
std.md5
std.mmfile
std.openrj
std.outbuffer
std.path
std.process
std.random
std.recls
std.regexp
std.socket
std.socketstream
std.stdint
std.stdio
std.cstream
std.stream
std.string
std.system
std.thread
std.uri
std.utf
std.zip
std.zlib
-
-std.windows
-
-std.linux
-
-std.c
std.c.stdio
-
-std.c.windows
-
-std.c.linux
-
-
-
- - -

std.compiler

- - -
- -
char[] name; -
Vendor specific string naming the compiler, - for example: "Digital Mars D". -

- -

enum Vendor -
Master list of D compiler vendors. -
-
DigitalMars -
Digital Mars -
-

- -

Vendor vendor; -
Which vendor produced this compiler. -

- -

uint version_major; -
uint version_minor; -
The vendor specific version number, as in - version_major.version_minor. -

- -

uint D_major; -
uint D_minor; -
The version of the D Programming Language Specification - supported by the compiler. -

- -

- - -
-

Feedback and Comments

- - Add feedback and comments regarding this - page. - -
-Copyright © 1999-2005 by Digital Mars, All Rights Reserved

- - - - - - - - - - - - - + + + + + + + +Digital Mars - The D Programming Language - std.compiler + + + + +www.digitalmars.com + +Home +| Search +| D + +| Comments + +
+Last update Wed Sep 28 23:22:10 2005 + +


+ + + +
+
+
+ + + + + +
+
+
D
+
Language
+
Phobos
+
Comparisons


+ +object
+
+ +std
std.base64
std.boxer
std.compiler
std.conv
std.ctype
std.date
std.file
std.format
std.gc
std.intrinsic
std.math
std.md5
std.mmfile
std.openrj
std.outbuffer
std.path
std.process
std.random
std.recls
std.regexp
std.socket
std.socketstream
std.stdint
std.stdio
std.cstream
std.stream
std.string
std.system
std.thread
std.uri
std.utf
std.zip
std.zlib
+
+std.windows
+
+std.linux
+
+std.c
std.c.stdio
+
+std.c.windows
+
+std.c.linux
+
+
+
+ + +

std.compiler

+ +
+ + +
const char[] name; +
+
Vendor specific string naming the compiler, for example: "Digital Mars D". +

+ +
+
enum Vendor; +
+
Master list of D compiler vendors. +

+ +
DigitalMars
+
Digital Mars +

+ +
+
+
+
const Vendor vendor; +
+
Which vendor produced this compiler. +

+ +
+
const uint version_major; +
const uint version_minor; +
+
The vendor specific version number, as in + version_major.version_minor + +

+ +
+
const uint D_major; +
+
The version of the D Programming Language Specification + supported by the compiler. + +

+ +
+
+ +
+ + +
+

Feedback and Comments

+ + Add feedback and comments regarding this + page. + +
+Copyright © 1999-2005 by Digital Mars, All Rights Reserved
+Page generated by Ddoc.
+

+ + + + + + + + + + + diff -uNr dmd-0.133/dmd/html/d/phobos/std_math.html dmd-0.134/dmd/html/d/phobos/std_math.html --- dmd-0.133/dmd/html/d/phobos/std_math.html 2005-09-24 15:33:42.000000000 +0200 +++ dmd-0.134/dmd/html/d/phobos/std_math.html 2005-09-28 23:22:10.000000000 +0200 @@ -15,22 +15,22 @@ - - + www.digitalmars.com Home | Search -| D +| D + | Comments
-Last update Sat Sep 24 15:33:41 2005 +Last update Wed Sep 28 23:22:09 2005


-
+
@@ -102,1115 +102,939 @@

std.math

- - -

- - -
-
const real E; -
-
-

e -

- - -
-
const real LOG2T; -
-
-

log210 -

- - -
-
const real LOG2E; -
-
-

log2e -

- - -
-
const real LOG2; -
-
-

log102 -

- - -
-
const real LOG10E; -
-
-

log10e -

- - -
-
const real LN2; -
-
-

ln 2 -

- - -
-
const real LN10; -
-
-

ln 10 -

- - -
-
const real PI; -
-
-

π -

- - -
-
const real PI_2; -
-
-

π / 2 -

- - -
-
const real PI_4; -
-
-

π / 4 -

- - -
-
const real M_1_PI; -
-
-

1 / π -

- - -
-
const real M_2_PI; -
-
-

2 / π -

- - -
-
const real M_2_SQRTPI; -
-
-

2 / √π -

- - -
-
const real SQRT2; -
-
-

√2 -

- - -
-
const real SQRT1_2; -
-
-

√½ -

- - -
-
real cos(real x); -
-
-

Returns cosine of x. x is in radians. -

- -

- - - - - -
Special Values
x cos( x) invalid?
NAN NAN yes
±∞ NAN yes
- -

- - -
-
real sin(real x); -
-
-

Returns sine of x. x is in radians. -

- -

- - -
Special Values
x sin( x) invalid? -
NAN NAN yes -
±0.0 ±0.0 no -
±∞ NAN yes -
- -

- - -
-
real tan(real x); -
-
-

Returns tangent of x. x is in radians. -

- -

- - -
Special Values
x tan( x) invalid? -
NAN NAN yes -
±0.0 ±0.0 no -
±∞ NAN yes -
- -

- - -
-
real acos(real x); -
-
-

Calculates the arc cosine of x, - returning a value ranging from -π/2 to π/2. -

- -

- - -
Special Values
x acos( x) invalid? -
>1.0 NAN yes -
<-1.0 NAN yes -
NAN NAN yes -
- -

- - -
-
real asin(real x); -
-
-

Calculates the arc sine of x, - returning a value ranging from -π/2 to π/2. -

- -

- - -
Special Values
x asin( x) invalid? -
±0.0 ±0.0 no -
>1.0 NAN yes -
<-1.0 NAN yes -
- -

- - -
-
real atan(real x); -
-
-

Calculates the arc tangent of x, - returning a value ranging from -π/2 to π/2. -

- -

- - -
Special Values
x atan( x) invalid? -
±0.0 ±0.0 no -
±∞ NAN yes -
- -

- - -
-
real atan2(real x,real y); -
-
-

Calculates the arc tangent of y / x, - returning a value ranging from -π/2 to π/2. -

- -

- - -
Special Values
x y atan( x, y) -
NAN anything NAN -
anything NAN NAN -
±0.0 > 0.0 ±0.0 -
±0.0 ±0.0 ±0.0 -
±0.0 < 0.0 ±π -
±0.0 -0.0 ±π -
> 0.0 ±0.0 π/2 -
< 0.0 ±0.0 π/2 -
> 0.0 ±0.0 -
±∞ anything ±π/2 -
> 0.0 -∞ ±π -
±∞ ±π/4 -
±∞ -∞ ±3π/4 -
- -

- - -
-
real cosh(real x); -
-
-

Calculates the hyperbolic cosine of x. -

- -

- - -
Special Values
x cosh( x) invalid? -
±∞ ±0.0 no -
- -

- - -
-
real sinh(real x); -
-
-

Calculates the hyperbolic sine of x. -

- -

- - -
Special Values
x sinh( x) invalid? -
±0.0 ±0.0 no -
±∞ ±∞ no -
- -

- - -
-
real tanh(real x); -
-
-

Calculates the hyperbolic tangent of x. -

- -

- - -
Special Values
x tanh( x) invalid? -
±0.0 ±0.0 no -
±∞ ±1.0 no -
- -

- - -
-
long rndtol(real x); -
-
-

Returns x rounded to a long value using the current rounding mode. - If the integer value of x is - greater than long.max, the result is - indeterminate. - -

- - -
-
realC rndtonl(real x); -
-
-

Returns x rounded to a long value using the FE_TONEAREST rounding mode. - If the integer value of x is - greater than long.max, the result is - indeterminate. - -

- - -
-
float sqrt(float x); -
double sqrt(double x); -
real sqrt(real x); -
-
-

Compute square root of x. -

- -

- - -
Special Values
x sqrt( x) invalid? -
-0.0 -0.0 no -
<0.0 NAN yes -
+∞ +∞ no -
- -

- - -
-
real exp(real x); -
-
-

Calculates e x. -

- -

- - -
Special Values
x exp( x) -
+∞ +∞ -
-∞ +0.0 -
- -

- - -
-
real exp2(real x); -
-
-

Calculates 2 x. -

- -

- - -
Special Values
x exp2( x) -
+∞ +∞ -
-∞ +0.0 -
- -

- - -
-
real expm1(real x); -
-
-

Calculates the value of the natural logarithm base (e) - raised to the power of x, minus 1. -

- -

For very small x, expm1( x) is more accurate - than exp( x)-1. -

-

- - - -
Special Values
x e x-1 -
±0.0 ±0.0 -
+∞ +∞ -
-∞ -1.0 -
- -

- - -
-
real frexp(real value,out int exp); -
-
-

Separate floating point value into significand and exponent. -

- -

- -

Returns:

Calculate and return x and exp such that - value =x*2 exp and - .5 <= |x| < 1.0
- x has same sign as value. -

-

- - - -
Special Values
value returns exp -
±0.0 ±0.0 0 -
+∞ +∞ int.max -
-∞ -∞ int.min -
±NAN ±NAN int.min -
- -

- - -
-
int ilogb(real x); -
-
-

Extracts the exponent of x as a signed integral value. -

- -

If x is not a special value, the result is the same as - cast(int)logb( x). -

-

- - - -
Special Values
x ilogb( x) Range error? -
0 FP_ILOGB0 yes -
±∞ +∞ no -
NAN FP_ILOGBNAN no -
- -

- - -
-
real ldexp(real n,int exp); -
-
-

Compute n * 2 exp -

- -

References:

frexp - -

- - -
-
real log(real x); -
-
-

Calculate the natural logarithm of x. -

- -

- - -
Special Values
x log( x) divide by 0? invalid? -
±0.0 -∞ yes no -
< 0.0 NAN no yes -
+∞ +∞ no no -
- -

- - -
-
real log10(real x); -
-
-

Calculate the base-10 logarithm of x. -

- -

- - -
Special Values
x log10( x) divide by 0? invalid? -
±0.0 -∞ yes no -
< 0.0 NAN no yes -
+∞ +∞ no no -
- -

- - -
-
real log1p(real x); -
-
-

Calculates the natural logarithm of 1 + x. -

- -

For very small x, log1p( x) will be more accurate than - log(1 + x). -

-

- - - -
Special Values
x log1p( x) divide by 0? invalid? -
±0.0 ±0.0 no no -
-1.0 -∞ yes no -
<-1.0 NAN no yes -
+∞ -∞ no no -
- -

- - -
-
real log2(real x); -
-
-

Calculates the base-2 logarithm of x: - log2 x -

- -

- - -
Special Values
x log2( x) divide by 0? invalid? -
±0.0 -∞ yes no -
< 0.0 NAN no yes -
+∞ +∞ no no -
- -

- - -
-
real logb(real x); -
-
-

Extracts the exponent of x as a signed integral value. -

- -

If x is subnormal, it is treated as if it were normalized. - For a positive, finite x: -

-

-

-	1 <=   x * FLT_RADIX-  logb(  x) < FLT_RADIX
-	
-

-

- - - -
Special Values
x logb( x) Divide by 0? -
±∞ +∞ no -
±0.0 -∞ yes -
- -

- - -
-
real modf(real x,inout real y); -
-
-

Calculates the remainder from the calculation x/ y. -

- -

Returns:

The value of x - i * y, where i is the number of times that y can - be completely subtracted from x. The result has the same sign as x. -

-

- - - -
Special Values
x y modf( x, y) invalid? -
±0.0 not 0.0 ±0.0 no -
±∞ anything NAN yes -
anything ±0.0 NAN yes -
!=±∞ ±∞ x no -
- -

- - -
-
real scalbn(real x,int n); -
-
-

Efficiently calculates x * 2 n. -

- -

scalbn handles underflow and overflow in - the same fashion as the basic arithmetic operators. -

-

- - - -
Special Values
x scalb( x) -
±∞ ±∞ -
±0.0 ±0.0 -
- -

- - -
-
real cbrt(real x); -
-
-

Calculates the cube root x. -

- -

- - -
Special Values
x cbrt( x) invalid? -
±0.0 ±0.0 no -
NAN NAN yes -
±∞ ±∞ no -
- -

- - -
-
real fabs(real x); -
-
-

Returns | x| -

- -

- - -
Special Values
x fabs( x) -
±0.0 +0.0 -
±∞ +∞ -
- -

- - -
-
real hypot(real x,real y); -
-
-

Calculates the length of the - hypotenuse of a right-angled triangle with sides of length x and y. - The hypotenuse is the value of the square root of - the sums of the squares of x and y: -

- -

sqrt( x² + y²) -

-

- Note that hypot( x, y), hypot( y, x) and - hypot( x, - y) are equivalent. -

-

- - - -
Special Values
x y hypot( x, y) invalid? -
x ±0.0 | x| no -
±∞ y +∞ no -
±∞ NAN +∞ no -
- -

- - -
-
real erf(real x); -
-
-

Returns the error function of x. -

- -

error function - -

- - -
-
real erfc(real x); -
-
-

Returns the complementary error function of x, which is 1 - erf( x). -

- -

complementary error function - -

- - -
-
real lgamma(real x); -
-
-

Calculates ln |Γ( x)| - -

- - -
-
real tgamma(real x); -
-
-

Calculates the gamma function Γ( x) - -

- - -
-
real ceil(real x); -
-
-

Returns the value of x rounded upward to the next integer - (toward positive infinity). - -

- - -
-
real floor(real x); -
-
-

Returns the value of x rounded downward to the next integer - (toward negative infinity). - -

- - -
-
real nearbyint(real x); -
-
-

Rounds x to the nearest integer value, using the current rounding - mode. -

- -

Unlike the rint functions, nearbyint does not raise the - FE_INEXACT exception. - -

- - -
-
real rint(real x); -
-
-

Rounds x to the nearest integer value, using the current rounding - mode. - If the return value is not equal to x, the FE_INEXACT - exception is raised. - nearbyint performs - the same operation, but does not set the FE_INEXACT exception. - -

- - -
-
long lrint(real x); -
-
-

Rounds x to the nearest integer value, using the current rounding - mode. - -

- - -
-
real round(real x); -
-
-

Return the value of x rounded to the nearest integer. - If the fractional part of x is exactly 0.5, the return value is rounded to - the even integer. - -

- - -
-
long lround(real x); -
-
-

Return the value of x rounded to the nearest integer. -

- -

If the fractional part of x is exactly 0.5, the return value is rounded - away from zero. - -

- - -
-
real trunc(real x); -
-
-

Returns the integer portion of x, dropping the fractional portion. -

- -

This is also know as "chop" rounding. - -

- - -
-
real remainder(real x,real y); -
real remquo(real x,real y,out int n); -
-
-

Calculate the remainder x REM y, following IEC 60559. -

- -

REM is the value of x - y * n, where n is the integer nearest the exact - value of x / y. - If |n - x / y| == 0.5, n is even. - If the result is zero, it has the same sign as x. - Otherwise, the sign of the result is the sign of x / y. - Precision mode has no affect on the remainder functions. -

-

- remquo returns n in the parameter n. -

-

- - - -
Special Values
x y remainder( x, y) n invalid? -
±0.0 not 0.0 ±0.0 0.0 no -
±∞ anything NAN ? yes -
anything ±0.0 NAN ? yes -
!= ±∞ ±∞ x ? no -
- -

- - -
-
int isnan(real e); -
-
-

Returns !=0 if e is a NaN. - -

- - -
-
int isfinite(real e); -
-
-

Returns !=0 if e is finite. - -

- - -
-
int isnormal(float x); -
int isnormal(double d); -
int isnormal(real e); -
-
-

Returns !=0 if x is normalized. - -

- - -
-
int issubnormal(float f); -
int issubnormal(double d); -
int issubnormal(real e); -
-
-

Is number subnormal? (Also called "denormal".) - Subnormals have a 0 exponent and a 0 most significant mantissa bit. - -

- - -
-
int isinf(real e); -
-
-

Return !=0 if e is ±∞. - -

- - -
-
int signbit(real e); -
-
-

Return 1 if sign bit of e is set, 0 if not. - -

- - -
-
real copysign(real to,real from); -
-
-

Return a value composed of to with from's sign bit. - -

- - -
-
real nan(char[] tagp); -
-
-

Creates a quiet NAN with the information from tagp[] embedded in it. - -

- - -
-
real nextafter(real x,real y); -
-
-

Calculates the next representable value after x in the direction of y. -

- -

If y > x, the result will be the next largest floating-point value; - if y < x, the result will be the next smallest value. - If x == y, the result is y. - The FE_INEXACT and FE_OVERFLOW exceptions will be raised if x is finite and - the function result is infinite. The FE_INEXACT and FE_UNDERFLOW - exceptions will be raised if the function value is subnormal, and x is - not equal to y. - -

- - -
-
real fdim(real x,real y); -
-
-

Returns the positive difference between x and y. -

- -

Returns:

-
x, y fdim( x, y) -
x > y x - y -
x <= y +0.0 -
- -

- - -
-
real fmax(real x,real y); -
-
-

Returns the larger of x and y. - -

- - -
-
real fmin(real x,real y); -
-
-

Returns the smaller of x and y. - -

- - -
-
real fma(real x,real y,real z); -
-
-

Returns ( x * y) + z, rounding only once according to the - current rounding mode. - -

- - -
-
real pow(real x,uint n); -
real pow(real x,int n); -
-
-

Fast integral powers. - -

- - -
-
real pow(real x,real y); -
-
-

Calculates x y. -

- -

- - - - - - - - - - - - - - - - - - - - -
Special Values
x y pow( x, y) div 0 invalid? -
anything ±0.0 1.0 no no -
| x| > 1 +∞ +∞ no no -
| x| < 1 +∞ +0.0 no no -
| x| > 1 -∞ +0.0 no no -
| x| < 1 -∞ +∞ no no -
+∞ > 0.0 +∞ no no -
+∞ < 0.0 +0.0 no no -
-∞ odd integer > 0.0 -∞ no no -
-∞ > 0.0, not odd integer +∞ no no -
-∞ odd integer < 0.0 -0.0 no no -
-∞ < 0.0, not odd integer +0.0 no no -
±1.0 ±∞ NAN no yes -
< 0.0 finite, nonintegral NAN no yes -
±0.0 odd integer < 0.0 ±∞ yes no -
±0.0 < 0.0, not odd integer +∞ yes no -
±0.0 odd integer > 0.0 ±0.0 no no -
±0.0 > 0.0, not odd integer +0.0 no no -
- -

- - -
-
int feqrel(real x,real y); -
-
-

To what precision is x equal to y? -

- -

- -

Returns:

the number of mantissa bits which are equal in x and y. - eg, 0x1.F8p+60 and 0x1.F1p+60 are equal to 5 bits of precision. -

-

- - - -
Special Values
x y feqrel( x, y) -
x x real.mant_dig -
x >= 2* x 0 -
x <= x/2 0 -
NAN any 0 -
any NAN 0 -
- -

- - -
-
+ + +
const real E; +
+
e +

+ +
+
const real LOG2T; +
+
log210 +

+ +
+
const real LOG2E; +
+
log2e +

+ +
+
const real LOG2; +
+
log102 +

+ +
+
const real LOG10E; +
+
log10e +

+ +
+
const real LN2; +
+
ln 2 +

+ +
+
const real LN10; +
+
ln 10 +

+ +
+
const real PI; +
+
π +

+ +
+
const real PI_2; +
+
π / 2 +

+ +
+
const real PI_4; +
+
π / 4 +

+ +
+
const real M_1_PI; +
+
1 / π +

+ +
+
const real M_2_PI; +
+
2 / π +

+ +
+
const real M_2_SQRTPI; +
+
2 / √π +

+ +
+
const real SQRT2; +
+
√2 +

+ +
+
const real SQRT1_2; +
+
√½ +

+ +
+
real cos(real x); +
+
Returns cosine of x. x is in radians. +

+ + + + + +
Special Values
x cos(x) invalid?
NAN + NAN + yes
±∞ NAN + yes
+ +

+ +
+
real sin(real x); +
+
Returns sine of x. x is in radians. +

+ + +
Special Values
x sin(x) invalid? +
NAN + NAN + yes +
±0.0 ±0.0 no +
±∞ NAN + yes +
+ +

+ +
+
real tan(real x); +
+
Returns tangent of x. x is in radians. +

+ + +
Special Values
x tan(x) invalid? +
NAN + NAN + yes +
±0.0 ±0.0 no +
±∞ NAN + yes +
+ +

+ +
+
real acos(real x); +
+
Calculates the arc cosine of x, + returning a value ranging from -π/2 to π/2. +

+ + +
Special Values
x acos(x) invalid? +
>1.0 NAN + yes +
<-1.0 NAN + yes +
NAN + NAN + yes +
+ +

+ +
+
real asin(real x); +
+
Calculates the arc sine of x, + returning a value ranging from -π/2 to π/2. +

+ + +
Special Values
x asin(x) invalid? +
±0.0 ±0.0 no +
>1.0 NAN + yes +
<-1.0 NAN + yes +
+ +

+ +
+
real atan(real x); +
+
Calculates the arc tangent of x, + returning a value ranging from -π/2 to π/2. +

+ + +
Special Values
x atan(x) invalid? +
±0.0 ±0.0 no +
±∞ NAN + yes +
+ +

+ +
+
real atan2(real x, real y); +
+
Calculates the arc tangent of y / x, + returning a value ranging from -π/2 to π/2. +

+ + +
Special Values
x y atan(x, y) +
NAN + anything NAN + +
anything NAN + NAN + +
±0.0 > 0.0 ±0.0 +
±0.0 ±0.0 ±0.0 +
±0.0 < 0.0 ±π +
±0.0 -0.0 ±π +
> 0.0 ±0.0 π/2 +
< 0.0 ±0.0 π/2 +
> 0.0 ±0.0 +
±∞ anything ±π/2 +
> 0.0 -∞ ±π +
±∞ ±π/4 +
±∞ -∞ ±3π/4 +
+ +

+ +
+
real cosh(real x); +
+
Calculates the hyperbolic cosine of x. +

+ + +
Special Values
x cosh(x) invalid? +
±∞ ±0.0 no +
+ +

+ +
+
real sinh(real x); +
+
Calculates the hyperbolic sine of x. +

+ + +
Special Values
x sinh(x) invalid? +
±0.0 ±0.0 no +
±∞ ±∞ no +
+ +

+ +
+
real tanh(real x); +
+
Calculates the hyperbolic tangent of x. +

+ + +
Special Values
x tanh(x) invalid? +
±0.0 ±0.0 no +
±∞ ±1.0 no +
+ +

+ +
+
long rndtol(real x); +
+
Returns x rounded to a long value using the current rounding mode. + If the integer value of x is + greater than long.max, the result is + indeterminate. + +

+ +
+
realC rndtonl(real x); +
+
Returns x rounded to a long value using the FE_TONEAREST rounding mode. + If the integer value of x is + greater than long.max, the result is + indeterminate. + +

+ +
+
float sqrt(float x); +
double sqrt(double x); +
real sqrt(real x); +
+
Compute square root of x. +

+ + +
Special Values
x sqrt(x) invalid? +
-0.0 -0.0 no +
<0.0 NAN + yes +
+∞ +∞ no +
+ +

+ +
+
real exp(real x); +
+
Calculates ex. +

+ + +
Special Values
x exp(x) +
+∞ +∞ +
-∞ +0.0 +
+ +

+ +
+
real exp2(real x); +
+
Calculates 2x. +

+ + +
Special Values
x exp2(x) +
+∞ +∞ +
-∞ +0.0 +
+ +

+ +
+
real expm1(real x); +
+
Calculates the value of the natural logarithm base (e) + raised to the power of x, minus 1. +

+For very small x, expm1(x) is more accurate + than exp(x)-1. +

+ + + +
Special Values
x ex-1 +
±0.0 ±0.0 +
+∞ +∞ +
-∞ -1.0 +
+ +

+ +
+
real frexp(real value, out int exp); +
+
Separate floating point value into significand and exponent. +

+Returns:
+Calculate and return x and exp such that + value =x*2exp and + .5 <= |x| < 1.0
+ x has same sign as value. +

+ + + +
Special Values
value returns exp +
±0.0 ±0.0 0 +
+∞ +∞ int.max +
-∞ -∞ int.min +
±NAN + ±NAN + int.min +
+ +

+ +
+
int ilogb(real x); +
+
Extracts the exponent of x as a signed integral value. +

+If x is not a special value, the result is the same as + cast(int)logb(x). +

+ + + +
Special Values
x ilogb(x) Range error? +
0 FP_ILOGB0 yes +
±∞ +∞ no +
NAN + FP_ILOGBNAN no +
+ +

+ +
+
real ldexp(real n, int exp); +
+
Compute n * 2exp +

+References:

+frexp + +

+ +
+
real log(real x); +
+
Calculate the natural logarithm of x. +

+ + +
Special Values
x log(x) divide by 0? invalid? +
±0.0 -∞ yes no +
< 0.0 NAN + no yes +
+∞ +∞ no no +
+ +

+ +
+
real log10(real x); +
+
Calculate the base-10 logarithm of x. +

+ + +
Special Values
x log10(x) divide by 0? invalid? +
±0.0 -∞ yes no +
< 0.0 NAN + no yes +
+∞ +∞ no no +
+ +

+ +
+
real log1p(real x); +
+
Calculates the natural logarithm of 1 + x. +

+For very small x, log1p(x) will be more accurate than + log(1 + x). +

+ + + +
Special Values
x log1p(x) divide by 0? invalid? +
±0.0 ±0.0 no no +
-1.0 -∞ yes no +
<-1.0 NAN + no yes +
+∞ -∞ no no +
+ +

+ +
+
real log2(real x); +
+
Calculates the base-2 logarithm of x: + log2x +

+ + +
Special Values
x log2(x) divide by 0? invalid? +
±0.0 -∞ yes no +
< 0.0 NAN + no yes +
+∞ +∞ no no +
+ +

+ +
+
real logb(real x); +
+
Extracts the exponent of x as a signed integral value. +

+If x is subnormal, it is treated as if it were normalized. + For a positive, finite x: +

+ +
+	1 <= x * FLT_RADIX-logb(x) < FLT_RADIX
+	
+

+ + + +
Special Values
x logb(x) Divide by 0? +
±∞ +∞ no +
±0.0 -∞ yes +
+ +

+ +
+
real modf(real x, inout real y); +
+
Calculates the remainder from the calculation x/y. +

+Returns:
+The value of x - i * y, where i is the number of times that y can + be completely subtracted from x. The result has the same sign as x. +

+ + + +
Special Values
x y modf(x, y) invalid? +
±0.0 not 0.0 ±0.0 no +
±∞ anything NAN + yes +
anything ±0.0 NAN + yes +
!=±∞ ±∞ x no +
+ +

+ +
+
real scalbn(real x, int n); +
+
Efficiently calculates x * 2n. +

+scalbn handles underflow and overflow in + the same fashion as the basic arithmetic operators. +

+ + + +
Special Values
x scalb(x) +
±∞ ±∞ +
±0.0 ±0.0 +
+ +

+ +
+
real cbrt(real x); +
+
Calculates the cube root x. +

+ + +
Special Values
x cbrt(x) invalid? +
±0.0 ±0.0 no +
NAN + NAN + yes +
±∞ ±∞ no +
+ +

+ +
+
real fabs(real x); +
+
Returns |x| +

+ + +
Special Values
x fabs(x) +
±0.0 +0.0 +
±∞ +∞ +
+ +

+ +
+
real hypot(real x, real y); +
+
Calculates the length of the + hypotenuse of a right-angled triangle with sides of length x and y. + The hypotenuse is the value of the square root of + the sums of the squares of x and y: +

+sqrt(x² + y²) +

+ + Note that hypot(x, y), hypot(y, x) and + hypot(x, -y) are equivalent. +

+ + + +
Special Values
x y hypot(x, y) invalid? +
x ±0.0 |x| no +
±∞ y +∞ no +
±∞ NAN + +∞ no +
+ +

+ +
+
real erf(real x); +
+
Returns the error function of x. +

+error function + +

+ +
+
real erfc(real x); +
+
Returns the complementary error function of x, which is 1 - erf(x). +

+complementary error function + +

+ +
+
real lgamma(real x); +
+
Calculates ln |Γ(x)| + +

+ +
+
real tgamma(real x); +
+
Calculates the gamma function Γ(x) + +

+ +
+
real ceil(real x); +
+
Returns the value of x rounded upward to the next integer + (toward positive infinity). + +

+ +
+
real floor(real x); +
+
Returns the value of x rounded downward to the next integer + (toward negative infinity). + +

+ +
+
real nearbyint(real x); +
+
Rounds x to the nearest integer value, using the current rounding + mode. +

+Unlike the rint functions, nearbyint does not raise the + FE_INEXACT exception. + +

+ +
+
real rint(real x); +
+
Rounds x to the nearest integer value, using the current rounding + mode. + If the return value is not equal to x, the FE_INEXACT + exception is raised. + nearbyint performs + the same operation, but does not set the FE_INEXACT exception. + +

+ +
+
long lrint(real x); +
+
Rounds x to the nearest integer value, using the current rounding + mode. + +

+ +
+
real round(real x); +
+
Return the value of x rounded to the nearest integer. + If the fractional part of x is exactly 0.5, the return value is rounded to + the even integer. + +

+ +
+
long lround(real x); +
+
Return the value of x rounded to the nearest integer. +

+If the fractional part of x is exactly 0.5, the return value is rounded + away from zero. + +

+ +
+
real trunc(real x); +
+
Returns the integer portion of x, dropping the fractional portion. +

+This is also know as "chop" rounding. + +

+ +
+
real remainder(real x, real y); +
real remquo(real x, real y, out int n); +
+
Calculate the remainder x REM y, following IEC 60559. +

+REM is the value of x - y * n, where n is the integer nearest the exact + value of x / y. + If |n - x / y| == 0.5, n is even. + If the result is zero, it has the same sign as x. + Otherwise, the sign of the result is the sign of x / y. + Precision mode has no affect on the remainder functions. +

+ + remquo returns n in the parameter n. +

+ + + +
Special Values
x y remainder(x, y) n invalid? +
±0.0 not 0.0 ±0.0 0.0 no +
±∞ anything NAN + ? yes +
anything ±0.0 NAN + ? yes +
!= ±∞ ±∞ x ? no +
+ +

+ +
+
int isnan(real e); +
+
Returns !=0 if e is a NaN. + +

+ +
+
int isfinite(real e); +
+
Returns !=0 if e is finite. + +

+ +
+
int isnormal(float x); +
int isnormal(double d); +
int isnormal(real e); +
+
Returns !=0 if x is normalized. + +

+ +
+
int issubnormal(float f); +
int issubnormal(double d); +
int issubnormal(real e); +
+
Is number subnormal? (Also called "denormal".) + Subnormals have a 0 exponent and a 0 most significant mantissa bit. + +

+ +
+
int isinf(real e); +
+
Return !=0 if e is ±∞. + +

+ +
+
int signbit(real e); +
+
Return 1 if sign bit of e is set, 0 if not. + +

+ +
+
real copysign(real to, real from); +
+
Return a value composed of to with from's sign bit. + +

+ +
+
real nan(char[] tagp); +
+
Creates a quiet NAN with the information from tagp[] embedded in it. + +

+ +
+
real nextafter(real x, real y); +
+
Calculates the next representable value after x in the direction of y. +

+If y > x, the result will be the next largest floating-point value; + if y < x, the result will be the next smallest value. + If x == y, the result is y. + The FE_INEXACT and FE_OVERFLOW exceptions will be raised if x is finite and + the function result is infinite. The FE_INEXACT and FE_UNDERFLOW + exceptions will be raised if the function value is subnormal, and x is + not equal to y. + +

+ +
+
real fdim(real x, real y); +
+
Returns the positive difference between x and y. +

+Returns:
+ +
x, y fdim(x, y) +
x > y x - y +
x <= y +0.0 +
+ +

+ +
+
real fmax(real x, real y); +
+
Returns the larger of x and y. + +

+ +
+
real fmin(real x, real y); +
+
Returns the smaller of x and y. + +

+ +
+
real fma(real x, real y, real z); +
+
Returns (x * y) + z, rounding only once according to the + current rounding mode. + +

+ +
+
real pow(real x, uint n); +
real pow(real x, int n); +
+
Fast integral powers. + +

+ +
+
real pow(real x, real y); +
+
Calculates xy. +

+ + + + + + + + + + + + + + + + + + + + +
Special Values
x y pow(x, y) div 0 invalid? +
anything ±0.0 1.0 no no +
|x| > 1 +∞ +∞ no no +
|x| < 1 +∞ +0.0 no no +
|x| > 1 -∞ +0.0 no no +
|x| < 1 -∞ +∞ no no +
+∞ > 0.0 +∞ no no +
+∞ < 0.0 +0.0 no no +
-∞ odd integer > 0.0 -∞ no no +
-∞ > 0.0, not odd integer +∞ no no +
-∞ odd integer < 0.0 -0.0 no no +
-∞ < 0.0, not odd integer +0.0 no no +
±1.0 ±∞ NAN + no yes +
< 0.0 finite, nonintegral NAN + no yes +
±0.0 odd integer < 0.0 ±∞ yes no +
±0.0 < 0.0, not odd integer +∞ yes no +
±0.0 odd integer > 0.0 ±0.0 no no +
±0.0 > 0.0, not odd integer +0.0 no no +
+ +

+ +
+
int feqrel(real x, real y); +
+
To what precision is x equal to y? +

+Returns:
+the number of mantissa bits which are equal in x and y. + eg, 0x1.F8p+60 and 0x1.F1p+60 are equal to 5 bits of precision. +

+ + + +
Special Values
x y feqrel(x, y) +
x x real.mant_dig +
x >= 2*x 0 +
x <= x/2 0 +
NAN + any 0 +
any NAN + 0 +
+ +

+ +
+
@@ -1222,7 +1046,9 @@ page.
-Copyright © 1999-2005 by Digital Mars, All Rights Reserved

+Copyright © 1999-2005 by Digital Mars, All Rights Reserved
+Page generated by Ddoc.
+