[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-libs-commits] CVS: GMP-Sharp gmp-f.cs,1.3,1.4 gmp-q.cs,1.2,1.3
From: |
Marcus Urban <address@hidden> |
Subject: |
[Dotgnu-libs-commits] CVS: GMP-Sharp gmp-f.cs,1.3,1.4 gmp-q.cs,1.2,1.3 gmp-z.cs,1.4,1.5 |
Date: |
Thu, 02 Jan 2003 05:34:01 -0500 |
Update of /cvsroot/dotgnu-libs/GMP-Sharp
In directory subversions:/tmp/cvs-serv4666
Modified Files:
gmp-f.cs gmp-q.cs gmp-z.cs
Log Message:
Throw exceptions when attempting to create a number
from an invalid string
Index: gmp-f.cs
===================================================================
RCS file: /cvsroot/dotgnu-libs/GMP-Sharp/gmp-f.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** gmp-f.cs 27 Dec 2002 10:14:15 -0000 1.3
--- gmp-f.cs 2 Jan 2003 10:33:58 -0000 1.4
***************
*** 72,77 ****
{
rawObject = create_mpf_t();
! __gmpf_init_set_str( rawObject, s, @base );
! // FIXME: Return null if mpz_set_str flags an error
}
--- 72,80 ----
{
rawObject = create_mpf_t();
! if ( __gmpf_init_set_str( rawObject, s, @base ) == -1 )
! {
! Destroy();
! throw new System.FormatException();
! }
}
***************
*** 117,124 ****
! ~Float()
{
__gmpf_clear( rawObject );
free( rawObject );
}
--- 120,133 ----
! internal void Destroy()
{
__gmpf_clear( rawObject );
free( rawObject );
+ }
+
+
+ ~Float()
+ {
+ Destroy();
}
Index: gmp-q.cs
===================================================================
RCS file: /cvsroot/dotgnu-libs/GMP-Sharp/gmp-q.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** gmp-q.cs 14 Dec 2002 09:07:20 -0000 1.2
--- gmp-q.cs 2 Jan 2003 10:33:58 -0000 1.3
***************
*** 57,62 ****
rawObject = create_mpq_t();
__gmpq_init( rawObject );
! __gmpq_set_str( rawObject, s, @base );
! // FIXME: Return null if mpz_set_str flags an error
}
--- 57,65 ----
rawObject = create_mpq_t();
__gmpq_init( rawObject );
! if ( __gmpq_set_str( rawObject, s, @base ) == -1 )
! {
! Destroy();
! throw new System.FormatException();
! }
}
***************
*** 119,128 ****
! ~Rational()
{
__gmpq_clear( rawObject );
free( rawObject );
}
!
--- 122,136 ----
! internal void Destroy()
{
__gmpq_clear( rawObject );
free( rawObject );
}
!
!
! ~Rational()
! {
! Destroy();
! }
Index: gmp-z.cs
===================================================================
RCS file: /cvsroot/dotgnu-libs/GMP-Sharp/gmp-z.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** gmp-z.cs 16 Dec 2002 07:47:16 -0000 1.4
--- gmp-z.cs 2 Jan 2003 10:33:59 -0000 1.5
***************
*** 49,54 ****
{
rawObject = create_mpz_t();
! __gmpz_init_set_str( rawObject, s, @base );
! // FIXME: Return null if mpz_set_str flags an error
}
--- 49,57 ----
{
rawObject = create_mpz_t();
! if ( __gmpz_init_set_str( rawObject, s, @base ) == -1 )
! {
! Destroy();
! throw new System.FormatException();
! }
}
***************
*** 91,96 ****
}
!
! ~Integer()
{
__gmpz_clear( rawObject );
--- 94,99 ----
}
!
! internal void Destroy()
{
__gmpz_clear( rawObject );
***************
*** 98,101 ****
--- 101,110 ----
}
+
+ ~Integer()
+ {
+ Destroy();
+ }
+
public static explicit operator Integer( Rational n )
***************
*** 1658,1677 ****
} // Class Integer
-
-
- // public class Testing
- // {
- // public static void Main( string[] args )
- // {
- //
- // Integer i;
- //
- //
- // for ( i = -600000000 ; i <= 600000000; i+=1000 )
- // i.FitsInt32();
- //
- // }
- // }
-
--- 1667,1670 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-libs-commits] CVS: GMP-Sharp gmp-f.cs,1.3,1.4 gmp-q.cs,1.2,1.3 gmp-z.cs,1.4,1.5,
Marcus Urban <address@hidden> <=
- Prev by Date:
[Dotgnu-libs-commits] CVS: GMP-Sharp altformatter.cs-1,1.1.1.1,NONE
- Next by Date:
[Dotgnu-libs-commits] CVS: GMP-Sharp ChangeLog,1.2,1.3 TODO,1.4,1.5 gmp-f.cs,1.4,1.5 gmp-q.cs,1.3,1.4 gmp-z.cs,1.5,1.6
- Previous by thread:
[Dotgnu-libs-commits] CVS: GMP-Sharp altformatter.cs-1,1.1.1.1,NONE
- Next by thread:
[Dotgnu-libs-commits] CVS: GMP-Sharp ChangeLog,1.2,1.3 TODO,1.4,1.5 gmp-f.cs,1.4,1.5 gmp-q.cs,1.3,1.4 gmp-z.cs,1.5,1.6
- Index(es):