diff --git a/qpms/vectors.h b/qpms/vectors.h index b637727..30a84d7 100644 --- a/qpms/vectors.h +++ b/qpms/vectors.h @@ -359,8 +359,9 @@ static inline csph_t ccart2csph(const ccart3_t cart) { /// Real 3D cartesian to spherical (complex r) coordinates conversion. See @ref coord_conversions. static inline csph_t cart2csph(const cart3_t cart) { csph_t sph; - sph.r = cart3norm(cart); - sph.theta = sph.r ? acos(cart.z / sph.r) : M_PI_2; + const double r = cart3norm(cart); + sph.r = r; + sph.theta = sph.r ? acos(cart.z / r) : M_PI_2; sph.phi = atan2(cart.y, cart.x); return sph; } @@ -579,7 +580,6 @@ static inline double anycoord2cart1(anycoord_point_t p, qpms_coord_system_t t) { " to 1D not allowed."); } - /// Coordinate conversion of point arrays (something to something). /** The dest and src arrays must not overlap */ static inline void qpms_array_coord_transform(void *dest, qpms_coord_system_t tdest, @@ -590,31 +590,31 @@ static inline void qpms_array_coord_transform(void *dest, qpms_coord_system_t td sph_t *d = (sph_t *) dest; switch (tsrc & QPMS_COORDS_BITRANGE) { case QPMS_COORDS_SPH: { - const sph_t *s = src; + const sph_t *s = (const sph_t*) src; for(size_t i = 0; i < nmemb; ++i) d[i] = s[i]; return; } break; case QPMS_COORDS_CART3: { - const cart3_t *s = src; + const cart3_t *s = (const cart3_t*) src; for(size_t i = 0; i < nmemb; ++i) d[i] = cart2sph(s[i]); return; } break; case QPMS_COORDS_POL: { - const pol_t *s = src; + const pol_t *s = (const pol_t*) src; for(size_t i = 0; i < nmemb; ++i) d[i] = pol2sph_equator(s[i]); return; } break; case QPMS_COORDS_CART2: { - const cart2_t *s = src; + const cart2_t *s = (const cart2_t*) src; for(size_t i = 0; i < nmemb; ++i) d[i] = cart22sph(s[i]); return; } break; case QPMS_COORDS_CART1: { - const double *s = src; + const double *s = (const double *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = cart12sph_zaxis(s[i]); return; @@ -628,31 +628,31 @@ static inline void qpms_array_coord_transform(void *dest, qpms_coord_system_t td cart3_t *d = (cart3_t *) dest; switch (tsrc & QPMS_COORDS_BITRANGE) { case QPMS_COORDS_SPH: { - const sph_t *s = src; + const sph_t *s = (const sph_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = sph2cart(s[i]); return; } break; case QPMS_COORDS_CART3: { - const cart3_t *s = src; + const cart3_t *s = (const cart3_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = s[i]; return; } break; case QPMS_COORDS_POL: { - const pol_t *s = src; + const pol_t *s = (const pol_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = pol2cart3_equator(s[i]); return; } break; case QPMS_COORDS_CART2: { - const cart2_t *s = src; + const cart2_t *s = (const cart2_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = cart22cart3xy(s[i]); return; } break; case QPMS_COORDS_CART1: { - const double *s = src; + const double *s = (const double *)src; for(size_t i = 0; i < nmemb; ++i) d[i] = cart12cart3z(s[i]); return; @@ -670,13 +670,13 @@ static inline void qpms_array_coord_transform(void *dest, qpms_coord_system_t td QPMS_PR_ERROR("Implicit conversion from 3D to 2D coordinates not allowed"); break; case QPMS_COORDS_POL: { - const pol_t *s = src; + const pol_t *s = (const pol_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = s[i]; return; } break; case QPMS_COORDS_CART2: { - const cart2_t *s = src; + const cart2_t *s = (const cart2_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = cart2pol(s[i]); return; @@ -697,13 +697,13 @@ static inline void qpms_array_coord_transform(void *dest, qpms_coord_system_t td QPMS_PR_ERROR("Implicit conversion from 3D to 2D coordinates not allowed"); break; case QPMS_COORDS_POL: { - const pol_t *s = src; + const pol_t *s = (const pol_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = pol2cart(s[i]); return; } break; case QPMS_COORDS_CART2: { - const cart2_t *s = src; + const cart2_t *s = (const cart2_t *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = s[i]; return; @@ -728,7 +728,7 @@ static inline void qpms_array_coord_transform(void *dest, qpms_coord_system_t td QPMS_PR_ERROR("Implicit conversion from 3D to 1D coordinates not allowed"); break; case QPMS_COORDS_CART1: { - const double *s = src; + const double *s = (const double *) src; for(size_t i = 0; i < nmemb; ++i) d[i] = s[i]; return;