/*  tvops1.c    CCMATH mathematics library source code.
 *
 *  Copyright (C)  2000   Daniel A. Atkinson    All rights reserved.
 *  This code may be redistributed under the terms of the GNU library
 *  public license (LGPL). ( See the lgpl.license file for details.)
 * ------------------------------------------------------------------------
 */
/*
    Test:  dotp  scalv  trvec  crossp  leng

    Uses:  matprt
*/
#include "ccmath.h"
double x[]={ 1., 3.,4.};
double y[]={ 4., 2.,-2.};
void main(void)
{ double s,z[3];
  printf("     Vector Operations Test #1\n");
  printf(" input vectors: x and y\n");
  matprt(x,1,3," %.3f"); matprt(y,1,3," %.3f");
  printf(" dot product x.y= %f\n",dotp(x,y,3));
  s=2.; scalv(y,s,3);
  printf(" scale y by 2:\n"); matprt(y,1,3," %.3f");
  s=1./s; scalv(y,s,3);
  trvec(z,x,y,3); printf(" z=x+y: "); matprt(z,1,3," %.3f");
  crossp(z,x,y); printf("  cross product x^y:\n");
  matprt(z,1,3," %.3f");
  printf(" vector lengths:\n");
  printf(" |x|= %f\n",leng(x,0L,3)); printf(" |y|= %f\n",leng(y,0L,3));
  printf(" |x-y|= %f\n",leng(x,y,3));
}
/* Test output

     Vector Operations Test #1
 input vectors: x and y
 1.000 3.000 4.000
 4.000 2.000 -2.000
 dot product x.y= 2.000000
 scale y by 2:
 8.000 4.000 -4.000
 z=x+y:  5.000 5.000 2.000
  cross product x^y:
 -14.000 18.000 -10.000
 vector lengths:
 |x|= 5.099020
 |y|= 4.898979
 |x-y|= 6.782330
*/


syntax highlighted by Code2HTML, v. 0.9.1