void freeAllocationsAC(void) {
      
        if (circuit_simulation.matrix_sparsity == SPARSE)
	{
	      if (circuit_simulation.method == DIRECT)
	      {  
		    cs_ci_sfree( Scomplex );
		    cs_ci_nfree( Ncomplex );
	      }
	      else
	      {
		    cs_ci_spfree( G2complex );
	      }
	}
	else
	{
	    free( matrix_Gcomplex );

	    if (circuit_simulation.method == DIRECT && circuit_simulation.matrix_type == NONSPD)
	    {
		  free( transposition );
	    }
			  
        }
        
        if (circuit_simulation.method == ITERATIVE)
	{
		free( inv_preconditioner_complex );
	}
}
Ejemplo n.º 2
0
/* free workspace for demo3 */
static int done3 (int ok, cs_cis *S, cs_cin *N, cs_complex_t *y, cs_ci *W, cs_ci *E, int *p)
{
    cs_ci_sfree (S) ;
    cs_ci_nfree (N) ;
    cs_ci_free (y) ;
    cs_ci_spfree (W) ;
    cs_ci_spfree (E) ;
    cs_ci_free (p) ;
    return (ok) ;
}