From 2968fb3a97f487877d0d470a645001588511492b Mon Sep 17 00:00:00 2001 From: rlar Date: Thu, 23 Jun 2011 17:52:49 +0000 Subject: [PATCH] `[]' indexing operator, round index to nearest integer --- ChangeLog | 4 ++++ src/frontend/evaluate.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index c1171a48c..33a2a98b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-06-23 Robert Larice + * src/frontend/evaluate.c : + `[]' indexing operator, round index to nearest integer + 2011-06-23 Robert Larice * src/xspice/icm/spice2poly/icm_spice2poly/cfunc.mod : malloc return value cast diff --git a/src/frontend/evaluate.c b/src/frontend/evaluate.c index c304ecf73..fe67cf0e8 100644 --- a/src/frontend/evaluate.c +++ b/src/frontend/evaluate.c @@ -716,11 +716,11 @@ op_ind(struct pnode *arg1, struct pnode *arg2) */ if (isreal(ind)) { newdim = v->v_numdims - 1; - down = up = (int)(ind->v_realdata[0]); + down = up = (int)floor(ind->v_realdata[0] + 0.5); } else { newdim = v->v_numdims; - down = (int)(realpart(&ind->v_compdata[0])); - up = (int)(imagpart(&ind->v_compdata[0])); + down = (int)floor(realpart(&ind->v_compdata[0]) + 0.5); + up = (int)floor(imagpart(&ind->v_compdata[0]) + 0.5); } if (up < down) { i = up;