~ubuntu-branches/debian/squeeze/gmsh/squeeze

« back to all changes in this revision

Viewing changes to contrib/Chaco/util/makevwsqrt.c

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme
  • Date: 2009-01-07 16:02:08 UTC
  • mfrom: (5.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20090107160208-vklhtj69br5yw5bh
Tags: 2.2.6.dfsg-2
* debian/control: fixed lintian warning "debhelper-but-no-misc-depends"
* debian/watch: fixed lintian warning
  "debian-watch-file-should-mangle-version"

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* This software was developed by Bruce Hendrickson and Robert Leland   *
 
2
 * at Sandia National Laboratories under US Department of Energy        *
 
3
 * contract DE-AC04-76DP00789 and is copyrighted by Sandia Corporation. */
 
4
 
 
5
#include <stdio.h>
 
6
#include <math.h>
 
7
#include "structs.h"
 
8
 
 
9
 
 
10
void      makevwsqrt(vwsqrt, graph, nvtxs)
 
11
/* Make vector of square roots of vertex weights. */
 
12
double   *vwsqrt;               /* vector returned */
 
13
struct vtx_data **graph;        /* graph data structure */
 
14
int       nvtxs;                /* number of vertices in graph */
 
15
{
 
16
    extern int NSQRTS;          /* number of sqrts already computed */
 
17
    extern double *SQRTS;       /* values computed */
 
18
    int       vwgt;             /* vertex weight */
 
19
    int       i;                /* loop counter */
 
20
 
 
21
    for (i = 1; i <= nvtxs; i++) {
 
22
        vwgt = graph[i]->vwgt;
 
23
        if (vwgt <= NSQRTS)
 
24
            vwsqrt[i] = SQRTS[vwgt];
 
25
        else
 
26
            vwsqrt[i] = sqrt((double) vwgt);
 
27
    }
 
28
}
 
29
 
 
30
 
 
31
/* Extract the subgraph vwsqrt values */
 
32
void      make_subvector(vec, subvec, subnvtxs, loc2glob)
 
33
double   *vec;                  /* vector for all vertices */
 
34
double   *subvec;               /* vector for vertices in subgraph */
 
35
int       subnvtxs;             /* number of vtxs in subgraph */
 
36
int      *loc2glob;             /* subgraph -> graph numbering map */
 
37
{
 
38
    int       i;
 
39
 
 
40
    for (i = 1; i <= subnvtxs; i++) {
 
41
        ++subvec;
 
42
        (*subvec) = vec[loc2glob[i]];
 
43
    }
 
44
}