Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
[[tags: egg]] == fp-utils [[toc:]] == Documentation Additional float routines. === float Computations ==== Usage <enscript language=scheme> (import fp-utils) </enscript> {{N N1 ... X1 ... Y1 ...}} below are {{float}}. {{P}} is the precision in decimal digits, an {{integer}}. ==== fpsummation <procedure>(fpsummation NUMS) -> float</procedure> Returns sum of {{NUMS}} via Kahan Summation Formula. ; NUMS : {{(list-of float)}}. ==== fprandom <procedure>(fprandom [N]) -> float</procedure> Returns {{float}} in {{[0 1)}}. ; {{N}} : {{fixnum}} or {{float}} limit. ==== fpmodulo <procedure>(fpmodulo N1 N2) -> float</procedure> ==== fpquotient <procedure>(fpquotient N1 N2) -> float</procedure> ==== fpremainder <procedure>(fpremainder N1 N2) -> float</procedure> ==== fptruncate-with-precision <procedure>(fptruncate-with-precision N [P 4]) -> float</procedure> ==== fpround-with-precision <procedure>(fpround-with-precision N [P 4]) -> float</procedure> ==== fpceiling-with-precision <procedure>(fpceiling-with-precision N [P 4]) -> float</procedure> ==== fpfloor-with-precision <procedure>(fpfloor-with-precision N [P 4]) -> float</procedure> ==== fpmax-and-min <procedure>(fpmax-and-min N ...) -> (values float float)</procedure> Returns the maximum & minimum values for the {{float}}s {{N ...}}. ==== fpdistance <procedure>(fpdistance X1 Y1 X2 Y2) -> float</procedure> Pythagorean distance between the points {{X1 Y1}} and {{X2 Y2}}. ==== fpdistance* <procedure>(fpdistance* X1 Y1 X2 Y2) -> float</procedure> Pythagorean distance, inaccurate but useful for relative comparisons. ==== fp~= <procedure>(fp~= N1 N2 [EPS float-epsilon]) -> float</procedure> Compare floating-point values {{N1}} and {{N2}} within some {{float}} epsilon {{EPS}}. ==== fp~<= <procedure>(fp~<= N) -> boolean</procedure> ==== fp~>= <procedure>(fp~>= N) -> boolean</procedure> === float Inlines ==== Usage <enscript language=scheme> (import fp-inlines) </enscript> {{N N1 ... X1 ... Y1 ...}} below are {{float}}. {{P}} is the precision in decimal digits, an {{integer}}. ==== fpzero? <procedure>(fpzero? N) -> boolean</procedure> ==== fppositive? <procedure>(fppositive? N) -> boolean</procedure> Note that {{-0.0}} is '''not''' positive, due to {{(fl<? -0.0 0.0)}}. ==== fpcardinal? <procedure>(fpcardinal? N) -> boolean</procedure> Note that {{-0.0}} is '''not''' cardinal, due to {{(fl<? -0.0 0.0)}}. ==== fpnegative? <procedure>(fpnegative? N) -> boolean</procedure> Note that {{-0.0}} is '''not''' negative, due to {{(fl<? -0.0 0.0)}}. ==== fpeven? <procedure>(fpeven? N) -> boolean</procedure> ==== fpodd? <procedure>(fpodd? N) -> boolean</procedure> ==== fpclosed-right? ==== fpclosedr? <procedure>(fpclosed-right? L N H) -> boolean</procedure> <procedure>(fpclosedr? L N H) -> boolean</procedure> Returns {{N}} in {{(L .. H]}}. {{N}}, {{L}} & {{H}} are {{float}} low & high limits. ==== fpclosed? Returns {{N}} in {{[L .. H]}}. <procedure>(fpclosed? L N H) -> boolean</procedure> {{N}}, {{L}} & {{H}} are {{float}} low & high limits. ==== fpclosed-left? ==== fpclosedl? Returns {{N}} in {{[L .. H)}}. <procedure>(fpclosed-left? L N H) -> boolean</procedure> <procedure>(fpclosedl? L N H) -> boolean</procedure> {{N}}, {{L}} & {{H}} are {{float}} low & high limits. ==== fpadd1 <procedure>(fpadd1 N) -> float</procedure> ==== fpsub1 <procedure>(fpsub1 N) -> float</procedure> ==== fpfraction <procedure>(fpfraction N) -> float</procedure> ==== fpsqr <procedure>(fpsqr N) -> float</procedure> ==== fpcub <procedure>(fpcub N) -> float</procedure> ==== fpavg <procedure>(fpavg N1 N2) -> float</procedure> ==== fp% <procedure>(fp% N1 P) -> float</procedure> : {{P}} ; {{(or float fixnum)}} ; percentage ==== fplog2 <procedure>(fplog2 N) -> float</procedure> ==== fplog10 <procedure>(fplog10 N) -> float</procedure> ==== fpdegree->radian <procedure>(fpdegree->radian N) -> float</procedure> ==== fpradian->degree <procedure>(fpradian->degree N) -> float</procedure> ==== fpprecision-factor <procedure>(fpprecision-factor P [BASE 10.0]) -> float</procedure> Returns factor for {{P}} decimal digits precision. : {{P}} ; {{(or float fixnum)}} ; precision ==== fpprecision-epsilon <procedure>(fpprecision-epsilon P [BASE 10.0]) -> float</procedure> Returns inverse factor for {{P}} decimal digits precision. : {{P}} ; {{(or float fixnum)}} ; precision == Author [[/users/kon-lovett|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|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 [[/egg-svn-checkout|this page]]. == Version history ; 4.0.0 : C5 port. == License This code is in the public domain.
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you add 9 to 23?