head = adp->head;
/* Find the neighboring coordinates. */
- i = (*adp->neighbor) (head->np->c, adp->neighbor_coords,
- adp->userdata);
+ i = adp->neighbor(head->np->c, adp->neighbor_coords, adp->userdata);
if (i == 0)
return NULL;
/*
int hashval;
struct as_hash *hp;
- hashval = (*adp->hash) (c) % adp->hashsize;
+ hashval = adp->hash(c) % adp->hashsize;
for (hp = adp->hashtab[hashval]; hp; hp = hp->next)
if (hp->c.x == c.x && hp->c.y == c.y)
new->c = c;
new->qp = qp;
- hashval = (*adp->hash) (c) % adp->hashsize;
+ hashval = adp->hash(c) % adp->hashsize;
hp = adp->hashtab[hashval];
new->next = (hp) ? hp : NULL;
for (cp = coords, end = coords + ncoords; cp < end; cp++) {
fix_pointer = 0;
- incknowncost = (*adp->realcost) (adp->head->np->c, *cp,
- adp->userdata);
+ incknowncost = adp->realcost(adp->head->np->c, *cp, adp->userdata);
knowncost = adp->head->np->knowncost + incknowncost;
/*
* If this neighbor is already in the queue, we can
*/
qp = as_iscinq(adp, *cp);
inclbcost = qp ? qp->np->inclbcost :
- (*adp->lbcost) (*cp, adp->to, adp->userdata);
+ adp->lbcost(*cp, adp->to, adp->userdata);
if (inclbcost < 0.0) /* skip bad cases */
continue;
lbcost = knowncost + inclbcost;
if (qp)
seccost = qp->np->seccost;
else
- seccost = (adp->seccost) ?
- (*adp->seccost) (*cp, adp->to, adp->userdata) : 0.0;
+ seccost = adp->seccost ?
+ adp->seccost(*cp, adp->to, adp->userdata) : 0.0;
np = as_newnode(adp->head->np, *cp, inclbcost, lbcost,
knowncost, seccost);
if (np == NULL)