(index ("make-ia-interval-empty" 0) ("make-ia-interval-f64" 0) ("ia-lo" 2099) ("ia-hi" 2099) ("ia->string" 2238))
(def (sig (procedure "(make-ia-interval-empty)" (id make-ia-interval-empty)) (procedure "(make-ia-interval-f64 LO HI)" (id make-ia-interval-f64))) (p "The following procedures are available:") (p "Arithmetic:") (pre "(ia+ A B)\n(ia+f64 A F) \n(ia+u64 A U)\n(ia+s64 A S) \n(ia- A B)\n(ia-f64 A F)\n(f64-ia F A)\n(ia-u64 A U)\n(u64-ia U A)\n(ia-s64 A S)\n(s64-ia S A)\n(ia* A B)\n(ia*f64 A F)\n(ia*u64 A U)\n(ia*s64 A S)\n(ia/ A B)\n(ia/f64 A F)\n(f64/ia F A)\n(ia/u64 A U)\n(u64/ia U A)\n(ia/s64 A S)\n(s64/ia S A)") (p "The procedures ending with " (tt "+") ", " (tt "-") ", " (tt "*") " and " (tt "/") " operate on two intervals and give an interval as result. The procedures that have " (tt "f64") " in their name take one flonum argument.") (p "Unary functions:") (pre "(ia-neg A)\n(ia-sqr A)  ;; square, (* x x)\n(ia-inv A)  ;; inverse, (/ 1 x)\n(ia-sqrt A) ;; square root\n(ia-abs A)\n(ia-log A)\n(ia-exp A)\n(ia-exp2 A)\n(ia-log1p A)\n(ia-expm1 A)\n(ia-log2 A)\n(ia-log10 A)") (p "Trigonometric functions:") (pre "(ia-cos A)\n(ia-sin A)\n(ia-tan A)\n(ia-acos A)\n(ia-asin A)\n(ia-atan A)\n(ia-cosh A)\n(ia-sinh A)\n(ia-tanh A)\n(ia-acosh A)\n(ia-asinh A)\n(ia-atanh A) ") (p "Constants:") (pre "(ia-const-log2)\n(ia-const-pi)\n(ia-const-e)") (p "These procedures calculate e, pi and the logarithm of two and give back intervals representing them.") (p "Comparisons:") (pre "(ia< A B)\n(ia> A B)") (p "Given two intervals A and B, A is considered greater than B is and only if all elements of A are greater than all elements of B.") (pre "(ia-overlap? A B)") (p "Returns true if A overlap with or contains B.") (pre "(ia-nan? A)\n(ia-inf? A)\n(ia-zero? A)\n(ia-has-zero? A)\n(ia-positive? A)\n(ia-negative? A)\n(ia-strictly-positive? A)\n(ia-strictly-negative? A)\n(ia-nonpositive? A)\n(ia-nonnegative? A)\n(ia-bounded? A)\n(ia-empty? A)\n(ia-inside?  A B)\n(ia-f64-inside? A B)") (p "Procedures returning " (tt "flonum") ":") (pre "(ia-diameter A)\n(ia-diameter-absolute A)\n(ia-diameter-relative A)\n(ia-magnitude A)\n(ia-mignitude A)\n(ia-random A)\n(ia-middle A)") (p "Other procedures:"))
(def (sig (procedure "(ia-lo A)" (id ia-lo)) (procedure "(ia-hi A)" (id ia-hi))) (p "Return the low and high endpoints of the interval."))
(def (sig (procedure "(ia->string)" (id ia->string))) (p "Converts an interval into a string.") (p "Each nondestructive procedure described above (like " (tt "ia/") " for example) has a destructive counterpart in which there is one extra argument where the result goes:") (pre "(ia/ a b)\n(ia/! result a b)") (p "The destructive operation does not allocate memory; the nondestructive one does."))
