chickadee » fp-utils

fp-utils

Documentation

Additional float routines.

float Computations

Usage

(import fp-utils)

N N1 ... X1 ... Y1 ... below are float.

P is the precision in decimal digits, an integer.

fpsummation

fpsummation NUMSprocedure

Returns sum of NUMS via Kahan Summation Formula.

NUMS
(list-of float).

fprandom

fprandom #!optional Nprocedure

Returns float in [0 1).

N
fixnum or float limit.

fpmodulo

fpmodulo N1 N2procedure

fpquotient

fpquotient N1 N2procedure

fpremainder

fpremainder N1 N2procedure

fptruncate-with-precision

(fptruncate-with-precision N [P 4]) -> floatprocedure

fpround-with-precision

(fpround-with-precision N [P 4]) -> floatprocedure

fpceiling-with-precision

(fpceiling-with-precision N [P 4]) -> floatprocedure

fpfloor-with-precision

(fpfloor-with-precision N [P 4]) -> floatprocedure

fpmax-and-min

fpmax-and-min N ...procedure

Returns the maximum & minimum values for the floats N ....

fpdistance

fpdistance X1 Y1 X2 Y2procedure

Pythagorean distance between the points X1 Y1 and X2 Y2.

fpdistance*

fpdistance* X1 Y1 X2 Y2procedure

Pythagorean distance, inaccurate but useful for relative comparisons.

fp~=

(fp~= N1 N2 [EPS float-epsilon]) -> floatprocedure

Compare floating-point values N1 and N2 within some float epsilon EPS.

fp~<=

fp~<= Nprocedure

fp~>=

fp~>= Nprocedure

float Inlines

Usage

(import fp-inlines)

N N1 ... X1 ... Y1 ... below are float.

P is the precision in decimal digits, an integer.

fpzero?

fpzero? Nprocedure

fppositive?

fppositive? Nprocedure

Note that -0.0 is not positive; (fl=? -0.0 0.0).

fpnatural?

fpnatural? Nprocedure

Note that -0.0 is not cardinal; (fl=? -0.0 0.0).

fpnegative?

fpnegative? Nprocedure

Note that -0.0 is not negative; (fl=? -0.0 0.0).

fpeven?

fpeven? Nprocedure

fpodd?

fpodd? Nprocedure

fpclosed-right?

fpclosedr?

fpclosed-right? L N Hprocedure
fpclosedr? L N Hprocedure

Returns N in (L .. H].

N, L & H are float low & high limits.

fpclosed?

Returns N in [L .. H].

fpclosed? L N Hprocedure

N, L & H are float low & high limits.

fpclosed-left?

fpclosedl?

Returns N in [L .. H).

fpclosed-left? L N Hprocedure
fpclosedl? L N Hprocedure

N, L & H are float low & high limits.

fpadd1

fpadd1 Nprocedure

fpsub1

fpsub1 Nprocedure

fpfraction

fpfraction Nprocedure

fpsqr

fpsqr Nprocedure

fpcub

fpcub Nprocedure

fpavg

fpavg N1 N2procedure

fp%

fp% N1 Pprocedure

: P ; (or float fixnum) ; percentage

fplog2

fplog2 Nprocedure

fplog10

fplog10 Nprocedure

fpdegree->radian

fpdegree->radian Nprocedure

fpradian->degree

fpradian->degree Nprocedure

fpprecision-factor

(fpprecision-factor P [BASE 10.0]) -> floatprocedure

Returns factor for P decimal digits precision.

: P ; (or float fixnum) ; precision

fpprecision-epsilon

(fpprecision-epsilon P [BASE 10.0]) -> floatprocedure

Returns inverse factor for P decimal digits precision.

: P ; (or float fixnum) ; precision

Author

Kon Lovett

Repository

This egg is hosted on the CHICKEN Subversion repository:

https://anonymous@code.call-cc.org/svn/chicken-eggs/release/5/fp-utils

If you want to check out the source code repository of this egg and you are not familiar with Subversion, see this page.

Version history

4.2.1
.
4.2.0
Added {{}}.
4.1.0
Added {{}}.
4.0.0
C5 port.

License

This code is in the public domain.

Contents »