X-Git-Url: https://ginac.de/CLN/cln.git//cln.git?a=blobdiff_plain;f=src%2Ffloat%2Frandom%2Fcl_F_random.cc;h=80cb9a8835e2ff56c9c21a2c54d6f5977cd463bc;hb=c84c6db5d56829d69083c819688a973867694a2a;hp=d37fe6580b3cc5f2ae40942881795832b6b4e429;hpb=dd9e0f894eec7e2a8cf85078330ddc0a6639090b;p=cln.git diff --git a/src/float/random/cl_F_random.cc b/src/float/random/cl_F_random.cc index d37fe65..80cb9a8 100644 --- a/src/float/random/cl_F_random.cc +++ b/src/float/random/cl_F_random.cc @@ -4,7 +4,7 @@ #include "cl_sysdep.h" // Specification. -#include "cl_float.h" +#include "cln/float.h" // Implementation. @@ -13,12 +13,14 @@ #include "cl_DS.h" #include "cl_I.h" -const cl_F random_F (cl_random_state& randomstate, const cl_F& n) +namespace cln { + +const cl_F random_F (random_state& randomstate, const cl_F& n) { - var uintL d = float_digits(n); // d = (float-digits n) > 0 + var uintC d = float_digits(n); // d = (float-digits n) > 0 // Bilde neue UDS mit d Zufallsbits: CL_ALLOCA_STACK; - var uintL len = ceiling(d,intDsize); + var uintC len = ceiling(d,intDsize); var uintD* MSDptr; num_stack_alloc_1(len,MSDptr=,); random_UDS(randomstate,MSDptr,len); // len (>0) Zufallsdigits @@ -28,10 +30,12 @@ const cl_F random_F (cl_random_state& randomstate, const cl_F& n) var cl_I mant = UDS_to_I(MSDptr,len); // Bilde Zufalls-Float zwischen 0 und 1 // = (scale-float (float Zufalls-Integer,d_Bits n) (- d)) : - var cl_F result = scale_float(cl_float(mant,n),-(sintL)d) * n; + var cl_F result = scale_float(cl_float(mant,n),-(sintC)d) * n; // result ist ein Zufalls-Float >=0, <=n. if (result == n) // falls (durch Rundung) result=n, durch 0 ersetzen: { result = cl_float(0,result); } return result; } + +} // namespace cln