X-Git-Url: https://ginac.de/CLN/cln.git//cln.git?a=blobdiff_plain;f=src%2Ffloat%2Flfloat%2Felem%2Fcl_LF_futrunc.cc;h=3a7d4cd1d740481f7c1dbc00627913bac068a85f;hb=665c18cd376d8d8c5a8eafb30681a3f9f46d4a99;hp=0afe85c6231831f85833f3489cf70bbc48320ebd;hpb=353bb28da69bf2c10e74d11a8a2b1e4ea315cb0e;p=cln.git diff --git a/src/float/lfloat/elem/cl_LF_futrunc.cc b/src/float/lfloat/elem/cl_LF_futrunc.cc index 0afe85c..3a7d4cd 100644 --- a/src/float/lfloat/elem/cl_LF_futrunc.cc +++ b/src/float/lfloat/elem/cl_LF_futrunc.cc @@ -21,11 +21,11 @@ const cl_LF futruncate (const cl_LF& x) // e<=0 -> Ergebnis 1.0 oder -1.0, je nach Vorzeichen von x. // 1<=e<16n -> Greife die letzten (16n-e) Bits von x heraus. // Sind sie alle =0 -> Ergebnis x. -// Sonst setze sie alle auf 0 und erhöhe dann die vorderen e Bits +// Sonst setze sie alle auf 0 und erhöhe dann die vorderen e Bits // um 1. -// Kein Überlauf -> fertig. +// Kein Überlauf -> fertig. // Sonst (Ergebnis eine Zweierpotenz): Mantisse := .1000...000, -// e:=e+1. (Test auf Überlauf wegen e<=16n überflüssig) +// e:=e+1. (Test auf Überlauf wegen e<=16n überflüssig) // e>=16n -> Ergebnis x. #if 0 var cl_signean sign; @@ -56,9 +56,9 @@ const cl_LF futruncate (const cl_LF& x) copy_loop_msp(mantMSDptr,MSDptr,count); // count ganze Digits kopieren if ((mspref(ptr,0) = ((mspref(mantptr,0) & mask) - mask)) == 0) // dann bitcount Bits kopieren und incrementieren { if (!( inc_loop_lsp(ptr,count) ==0)) // evtl. weiterincrementieren - { mspref(MSDptr,0) = bit(intDsize-1); exp = exp+1; } // evtl. Exponenten erhöhen + { mspref(MSDptr,0) = bit(intDsize-1); exp = exp+1; } // evtl. Exponenten erhöhen } - clear_loop_msp(ptr mspop 1,mantlen-count-1); // Rest mit Nullen füllen + clear_loop_msp(ptr mspop 1,mantlen-count-1); // Rest mit Nullen füllen } return encode_LF(sign,exp,MSDptr,mantlen); } @@ -92,9 +92,9 @@ const cl_LF futruncate (const cl_LF& x) copy_loop_msp(x_mantMSDptr,y_mantMSDptr,count); // count ganze Digits kopieren if ((mspref(ptr,0) = ((mspref(x_mantMSDptr,count) & mask) - mask)) == 0) // dann bitcount Bits kopieren und incrementieren { if (!( inc_loop_lsp(ptr,count) ==0)) // evtl. weiterincrementieren - { mspref(y_mantMSDptr,0) = bit(intDsize-1); (TheLfloat(y)->expo)++; } // evtl. Exponenten erhöhen + { mspref(y_mantMSDptr,0) = bit(intDsize-1); (TheLfloat(y)->expo)++; } // evtl. Exponenten erhöhen } - clear_loop_msp(ptr mspop 1,len-count-1); // Rest mit Nullen füllen + clear_loop_msp(ptr mspop 1,len-count-1); // Rest mit Nullen füllen } return y; #endif