MCPcopy Create free account
hub / github.com/GenericMappingTools/gmt / gmtlib_pow_array

Function gmtlib_pow_array

src/gmt_support.c:15655–15687  ·  view source on GitHub ↗

! . */

Source from the content-addressed store, hash-verified

15653
15654/*! . */
15655unsigned int gmtlib_pow_array (struct GMT_CTRL *GMT, double min, double max, double delta, unsigned int x_or_y_or_z, double **array) {
15656 int i, n = 0;
15657 double *val = NULL, v0, v1;
15658
15659 if (delta <= 0.0) return (0);
15660
15661 if (GMT->current.map.frame.axis[x_or_y_or_z].type != GMT_POW) return (gmtlib_linear_array (GMT, min, max, delta, 0.0, array));
15662
15663 if (x_or_y_or_z == 0) { /* x-axis */
15664 GMT->current.proj.fwd_x (GMT, min, &v0);
15665 GMT->current.proj.fwd_x (GMT, max, &v1);
15666 n = gmtlib_linear_array (GMT, v0, v1, delta, 0.0, &val);
15667 for (i = 0; i < n; i++) GMT->current.proj.inv_x (GMT, &val[i], val[i]);
15668 }
15669 else if (x_or_y_or_z == 1) { /* y-axis */
15670 GMT->current.proj.fwd_y (GMT, min, &v0);
15671 GMT->current.proj.fwd_y (GMT, max, &v1);
15672 n = gmtlib_linear_array (GMT, v0, v1, delta, 0.0, &val);
15673 for (i = 0; i < n; i++) GMT->current.proj.inv_y (GMT, &val[i], val[i]);
15674 }
15675 else if (x_or_y_or_z == 2) { /* z-axis */
15676 GMT->current.proj.fwd_z (GMT, min, &v0);
15677 GMT->current.proj.fwd_z (GMT, max, &v1);
15678 n = gmtlib_linear_array (GMT, v0, v1, delta, 0.0, &val);
15679 for (i = 0; i < n; i++) GMT->current.proj.inv_z (GMT, &val[i], val[i]);
15680 }
15681 else
15682 GMT_Report (GMT->parent, GMT_MSG_WARNING, "gmtlib_pow_array internal error: Invalid side (%d) passed - nothing returned!\n", x_or_y_or_z);
15683
15684 *array = val;
15685
15686 return (n);
15687}
15688
15689/*! . */
15690GMT_LOCAL uint64_t gmtsupport_time_array (struct GMT_CTRL *GMT, double min, double max, double inc, char unit, bool interval, double **array) {

Callers 3

gmtplot_powx_gridFunction · 0.85
gmtplot_powy_gridFunction · 0.85
gmtlib_coordinate_arrayFunction · 0.85

Calls 2

gmtlib_linear_arrayFunction · 0.85
GMT_ReportFunction · 0.85

Tested by

no test coverage detected