double statistics_mean( const double_vector_type * data_vector ) { const double * data = double_vector_get_const_ptr( data_vector ); int size = double_vector_size( data_vector ); double sum = 0; int i; for (i=0; i < size; i++) sum += data[i]; return sum / size; }
double statistics_std( const double_vector_type * data_vector ) { const double * data = double_vector_get_const_ptr( data_vector ); double std = 0; double mean = statistics_mean( data_vector ); int size = double_vector_size( data_vector ); int i; for (i=0; i < size; i++) { double d = (data[i] - mean); std += d*d; } return sqrt(std / size); }
void plot_range_update_vector_y( plot_range_type * range , const double_vector_type * y ) { int i; const double * y_data = double_vector_get_const_ptr( y ); for (i=0; i < double_vector_size( y ); i++) plot_range_update_y( range , y_data[i] ); }
void plot_range_update_vector_x( plot_range_type * range , const double_vector_type * x ) { int i; const double * x_data = double_vector_get_const_ptr( x ); for (i=0; i < double_vector_size( x ); i++) plot_range_update_x( range , x_data[i] ); }
bool geo_polygon_contains_point__( const geo_polygon_type * polygon , double x , double y, bool force_edge_inside) { return geo_util_inside_polygon__( double_vector_get_const_ptr( polygon->xcoord ) , double_vector_get_const_ptr( polygon->ycoord ) , double_vector_size( polygon->xcoord ) , x , y , force_edge_inside); }
bool geo_polygon_contains_point( const geo_polygon_type * polygon , double x , double y) { return geo_util_inside_polygon( double_vector_get_const_ptr( polygon->xcoord ) , double_vector_get_const_ptr( polygon->ycoord ) , double_vector_size( polygon->xcoord ) , x , y ); }