Corretta round

git-svn-id: svn://10.65.10.50/trunk@2583 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-02-08 15:47:48 +00:00
parent d8eeddba98
commit aeff220d55

View File

@ -187,7 +187,12 @@ real& real::round (
p = ipow10(prec);
_dec *= p;
}
_dec = floorl(_dec + 0.5);
if (_dec >= 0.0)
_dec = floorl(_dec + 0.5);
else
_dec = ceill(_dec - 0.5);
if (prec != 0)
_dec /= p;
@ -926,7 +931,7 @@ const real& fnc_min (
const real& fnc_max (
const real & a, // @parm Primo numero da confrontare
const real & b) // @parm Secondo numero da confrontare
// @parm long double | a | Primo numero da confrontare
// @parm long double | a | Primo numero da confrontare
// @parm long double | b | Secondo numero da confrontare
// @syntax const real& fnc_max (const real & a, const real & b)
@ -942,7 +947,7 @@ const real& fnc_max (
// @func Ritorna la radice quadrata del numero
real sqrt (
const real & a) // @parm Numero del quale calcolare la radice
// @parm long double | a | Numero del quale calcolare la radice
// @parm long double | a | Numero del quale calcolare la radice
// @syntax real sqrt (const real)
// @syntax long double sqrt(long double)
@ -989,10 +994,10 @@ real exp10 (
real pow (
const real & a, // @parm Numero da elevare a potenza
const real & b) // @parm Esponente
// @parm long double | a | Numero da elevare a potenza
// @parm long double | b | Esponente
// @parm long double | a | Numero da elevare a potenza
// @parm long double | b | Esponente
// @syntax real pow (const real & a, const real & b)
// @syntax real pow (const real & a, const real & b)
// @syntax long double pow(long double a, long double b)
{
@ -1005,9 +1010,9 @@ real pow (
// @func Calcola e (nepero) elevato ad <p a>
real exp (
const real & a) // @parm Esponente
// @parm long double | a | Esponente
// @parm long double | a | Esponente
// @syntax real exp (const real & a)
// @syntax real exp (const real & a)
// @syntax long double exp(long double a)
{
@ -1020,10 +1025,10 @@ real exp (
// @func Calcola il logaritmo in base 10 del numero
real log10 (
const real & a) // @parm Numero del quale calcolare il logaritmo
// @parm long double | a | Numero del quale calcolare il logaritmo
// @parm long double | a | Numero del quale calcolare il logaritmo
// @syntax real log10 (const real & a)
// @syntax long double log10(long double a)
// @syntax real log10 (const real & a)
// @syntax long double log10(long double a)
{
dlog (__tmp_real.ptr (), a.ptr ());
@ -1050,8 +1055,8 @@ real log (
// @func Calcola il seno dell'angolo
real sin (
const real & a) // @parm Angolo passato in radianti
// @parm long double | a | Angolo passato in radianti
// @parm long double | a | Angolo passato in radianti
// @syntax real sin (const real & a)
// @syntax long double sin (long double a)
@ -1576,11 +1581,11 @@ const TImporto& TImporto::swap_section()
// @mfunc Normalizza il segno o la sezione in base al parametro s
const TImporto& TImporto::normalize(
char s) // @parm Tipo di normalizzazione da effettuare:
//
// @flag A | Forza la sezione Avere
// @flag D | Forza la sezione Dare
// @flag <gt>0 | Forza il segno negativo
// @flag <lt>=0 | Forza il segno positivo
//
// @flag A | Forza la sezione Avere
// @flag D | Forza la sezione Dare
// @flag <gt>0 | Forza il segno negativo
// @flag <lt>=0 | Forza il segno positivo
{
bool ex = FALSE;