/* * utils.c * * Utility stuff * * (c) 2006-2009 Thomas White * * pattern_sim - Simulate diffraction patterns from small crystals * */ #include #include #include #include "utils.h" /* Angle between two vectors. Answer in radians */ double angle_between(double x1, double y1, double z1, double x2, double y2, double z2) { double mod1 = modulus(x1, y1, z1); double mod2 = modulus(x2, y2, z2); return acos( (x1*x2 + y1*y2 + z1*z2) / (mod1*mod2) ); } size_t skipspace(const char *s) { size_t i; for ( i=0; i L ); return k - 1; }