[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:54:23 UTC 2009
The following commit has been merged in the upstream branch:
commit 7502657ce16e0dcb40e3a971d1b4c6ae69649edc
Author: Stephane Popinet <popinet at users.sf.net>
Date: Tue May 22 08:53:05 2007 +1000
Fix for degenerate case in gfs_domain_remove_droplets
darcs-hash:20070521225305-d4795-a910bd5b6add710e0ba2c86c1197b7fed5ded5d7.gz
diff --git a/src/domain.c b/src/domain.c
index d7fe759..c51b64f 100644
--- a/src/domain.c
+++ b/src/domain.c
@@ -2748,20 +2748,21 @@ void gfs_domain_remove_droplets (GfsDomain * domain,
(FttCellTraverseFunc) gfs_cell_reset, p.v);
gfs_domain_cell_traverse (domain, FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
(FttCellTraverseFunc) tag_new_fraction_region, &p);
- g_assert (p.sizes->len > 0);
- if (min >= 0)
- p.min = min;
- else if (-min >= p.sizes->len)
- p.min = 0;
- else {
- guint * tmp = g_malloc (p.sizes->len*sizeof (guint));
- memcpy (tmp, p.sizes->data, p.sizes->len*sizeof (guint));
- qsort (tmp, p.sizes->len, sizeof (guint), greater);
- p.min = tmp[-1 - min];
- g_free (tmp);
+ if (p.sizes->len > 0) {
+ if (min >= 0)
+ p.min = min;
+ else if (-min >= p.sizes->len)
+ p.min = 0;
+ else {
+ guint * tmp = g_malloc (p.sizes->len*sizeof (guint));
+ memcpy (tmp, p.sizes->data, p.sizes->len*sizeof (guint));
+ qsort (tmp, p.sizes->len, sizeof (guint), greater);
+ p.min = tmp[-1 - min];
+ g_free (tmp);
+ }
+ gfs_domain_cell_traverse (domain, FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
+ (FttCellTraverseFunc) reset_small_fraction, &p);
}
- gfs_domain_cell_traverse (domain, FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
- (FttCellTraverseFunc) reset_small_fraction, &p);
g_array_free (p.sizes, TRUE);
gts_object_destroy (GTS_OBJECT (p.v));
}
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list