/* 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