* gnu/packages/algebra.scm (symmetrica): New variable. * gnu/packages/patches/symmetrica-bruch.patch: * gnu/packages/patches/symmetrica-int32.patch: * gnu/packages/patches/symmetrica-return_values.patch: * gnu/packages/patches/symmetrica-sort_sum_rename.patch: New files. * gnu/local.mk (dist_patch_DATA): Add patches.
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- src/bruch.c	2007-12-06 11:30:00.000000000 -0500
 | |
| +++ b/bruch.c	2013-10-22 08:37:43.000000000 -0400
 | |
| @@ -975,14 +975,16 @@
 | |
|      ggterg = ggt_i(S_B_UI(bruch),S_B_OI(bruch));
 | |
|  
 | |
|      if (ggterg == S_B_UI(bruch)) {
 | |
| +        INT tmp = S_B_OI(bruch);
 | |
|          freeself_bruch(bruch);
 | |
| -        M_I_I(S_B_OI(bruch) / ggterg,bruch);
 | |
| +        M_I_I(tmp / ggterg,bruch);
 | |
|          goto ende;
 | |
|          }
 | |
|  
 | |
|      if (-ggterg == S_B_UI(bruch)) {
 | |
| +        INT tmp = S_B_OI(bruch);
 | |
|          freeself_bruch(bruch);
 | |
| -        M_I_I(- S_B_OI(bruch) / ggterg,bruch);
 | |
| +        M_I_I(- tmp / ggterg,bruch);
 | |
|          goto ende;
 | |
|          }
 | |
|  
 | |
| @@ -1032,12 +1034,14 @@
 | |
|  
 | |
|      if (S_O_K(S_B_U(bruch)) == INTEGER)
 | |
|          if (S_B_UI(bruch) == 1) { 
 | |
| +            INT tmp = S_B_OI(bruch);
 | |
|              freeself_bruch(bruch);
 | |
| -            M_I_I(S_B_OI(bruch),bruch); 
 | |
| +            M_I_I(tmp,bruch); 
 | |
|              goto ende; }
 | |
|          else if (S_B_UI(bruch) == -1) { 
 | |
| +            INT tmp = S_B_OI(bruch);
 | |
|              freeself_bruch(bruch);
 | |
| -            M_I_I( - S_B_OI(bruch),bruch); 
 | |
| +            M_I_I( - tmp,bruch); 
 | |
|              goto ende; }
 | |
|      if (NEGP(S_B_O(bruch)) && NEGP(S_B_U(bruch)))
 | |
|          {
 |