[pure-lang-svn] SF.net SVN: pure-lang: [351] pure/trunk/lib/math.pure
Status: Beta
Brought to you by:
agraef
|
From: <ag...@us...> - 2008-07-01 13:31:44
|
Revision: 351
http://pure-lang.svn.sourceforge.net/pure-lang/?rev=351&view=rev
Author: agraef
Date: 2008-07-01 06:31:51 -0700 (Tue, 01 Jul 2008)
Log Message:
-----------
Add syntactic number predicates.
Modified Paths:
--------------
pure/trunk/lib/math.pure
Modified: pure/trunk/lib/math.pure
===================================================================
--- pure/trunk/lib/math.pure 2008-07-01 13:19:05 UTC (rev 350)
+++ pure/trunk/lib/math.pure 2008-07-01 13:31:51 UTC (rev 351)
@@ -357,3 +357,15 @@
x1!=(x2+:y2) = x1!=x2 || y2!=0;
z1@(r1<:t1)!=x2 = z1 != (x2<:0);
x1!=z2@(r2<:t2) = (x1<:0) != z2;
+
+/* Additional number predicates. */
+
+realp x = intp x || bigintp x || doublep x;
+complexp x = case x of x+:y | x<:y = realp x && realp y; _ = 0 end;
+nump x = realp x || complexp x;
+
+exactp x = intp x || bigintp x ||
+ complexp x && exactp (re x) && exactp (im x) if nump x;
+
+infp x::double = not nanp x && nanp (x-x);
+nanp x::double = x===nan;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|