dotgnu-libs-commits
[Top][All Lists]
Advanced

[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 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]