File: vector.h

package info (click to toggle)
grass 6.0.0-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 38,764 kB
  • ctags: 31,167
  • sloc: ansic: 320,650; tcl: 25,669; cpp: 10,098; sh: 9,695; makefile: 4,714; fortran: 1,846; yacc: 493; lex: 462; perl: 133; sed: 1
file content (41 lines) | stat: -rw-r--r-- 1,413 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef VECTOR_H
#define VECTOR_H

typedef struct Vector
{
  struct Vector *next;
  double x;
  double y;
  double z;
  int refcnt;
}VECTOR;

extern double nanval;

extern void init_vec (void);
extern void showvec (SYMBOL *sym);
extern void setpnt (SYMBOL *var, SYMBOL *pnt);
extern SYMBOL *mkpnt (double x, double y, double z);
extern SYMBOL *mkpntvar (SYMBOL *var, SYMBOL *pnt);
extern SYMBOL *pntfunc (SYMBOL *func, SYMBOL *arglist);
extern SYMBOL *pntop (int op, SYMBOL *pnt1, SYMBOL *pnt2);
extern SYMBOL *pntapp (SYMBOL *head, SYMBOL *elt);
extern VECTOR *v_copy (VECTOR *p, VECTOR *p1);
extern VECTOR *v_add (VECTOR *p, VECTOR *p1, VECTOR *p2);
extern VECTOR *v_sub (VECTOR *p, VECTOR *p1, VECTOR *p2);
extern VECTOR *v_abs (VECTOR *p, VECTOR *p1);
extern VECTOR *v_neg (VECTOR *p, VECTOR *p1);
extern double v_eq (VECTOR *p1, VECTOR *p2);
extern double v_eq_epsilon (VECTOR *p1, VECTOR *p2, VECTOR *e);
extern VECTOR *v_mul (VECTOR *p, VECTOR *p1, double d);
extern VECTOR *v_div (VECTOR *p, VECTOR *p1, double d);
extern double v_val (VECTOR *p);
extern VECTOR *v_unit (VECTOR *p, VECTOR *p1);
extern double v_dot (VECTOR *p1, VECTOR *p2);
extern VECTOR *v_cross (VECTOR *p, VECTOR *p1, VECTOR *p2);
extern double v_isortho (VECTOR *p1, VECTOR *p2);
extern double v_ispara (VECTOR *p1, VECTOR *p2);
extern double v_isacute (VECTOR *p1, VECTOR *p2);
extern double v_area (VECTOR *p1, VECTOR *p2);

#endif