| 
									
										
										
										
											2017-04-27 20:18:03 +02:00
										 |  |  | // SPDX-License-Identifier: GPL-2.0
 | 
					
						
							| 
									
										
										
										
											2013-04-14 20:10:25 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * statistics.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * core logic functions called from statistics UI | 
					
						
							|  |  |  |  * common types and variables | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2013-05-06 20:55:27 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifndef STATISTICS_H
 | 
					
						
							|  |  |  | #define STATISTICS_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-27 20:09:57 -08:00
										 |  |  | typedef struct | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2013-04-14 20:10:25 -07:00
										 |  |  | 	int period; | 
					
						
							|  |  |  | 	duration_t total_time; | 
					
						
							| 
									
										
										
										
											2016-11-10 10:15:11 +01:00
										 |  |  | 	/* total time of dives with non-zero average depth */ | 
					
						
							|  |  |  | 	duration_t total_average_depth_time; | 
					
						
							| 
									
										
										
										
											2013-04-14 20:10:25 -07:00
										 |  |  | 	/* avg_time is simply total_time / nr -- let's not keep this */ | 
					
						
							|  |  |  | 	duration_t shortest_time; | 
					
						
							|  |  |  | 	duration_t longest_time; | 
					
						
							|  |  |  | 	depth_t max_depth; | 
					
						
							|  |  |  | 	depth_t min_depth; | 
					
						
							|  |  |  | 	depth_t avg_depth; | 
					
						
							|  |  |  | 	volume_t max_sac; | 
					
						
							|  |  |  | 	volume_t min_sac; | 
					
						
							|  |  |  | 	volume_t avg_sac; | 
					
						
							|  |  |  | 	int max_temp; | 
					
						
							|  |  |  | 	int min_temp; | 
					
						
							|  |  |  | 	double combined_temp; | 
					
						
							|  |  |  | 	unsigned int combined_count; | 
					
						
							|  |  |  | 	unsigned int selection_size; | 
					
						
							|  |  |  | 	unsigned int total_sac_time; | 
					
						
							| 
									
										
										
										
											2013-06-19 10:30:36 -07:00
										 |  |  | 	bool is_year; | 
					
						
							| 
									
										
										
										
											2013-11-24 03:09:34 +02:00
										 |  |  | 	bool is_trip; | 
					
						
							|  |  |  | 	char *location; | 
					
						
							| 
									
										
										
										
											2013-04-14 20:10:25 -07:00
										 |  |  | } stats_t; | 
					
						
							|  |  |  | extern stats_t stats_selection; | 
					
						
							|  |  |  | extern stats_t *stats_yearly; | 
					
						
							|  |  |  | extern stats_t *stats_monthly; | 
					
						
							| 
									
										
										
										
											2013-11-24 03:09:34 +02:00
										 |  |  | extern stats_t *stats_by_trip; | 
					
						
							| 
									
										
										
										
											2016-01-17 21:18:36 +02:00
										 |  |  | extern stats_t *stats_by_type; | 
					
						
							| 
									
										
										
										
											2013-04-14 20:10:25 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | extern char *get_minutes(int seconds); | 
					
						
							|  |  |  | extern void process_all_dives(struct dive *dive, struct dive **prev_dive); | 
					
						
							| 
									
										
										
										
											2016-03-09 18:55:04 -08:00
										 |  |  | extern void get_selected_dives_text(char *buffer, size_t size); | 
					
						
							| 
									
										
										
										
											2013-11-20 00:29:32 +01:00
										 |  |  | extern void get_gas_used(struct dive *dive, volume_t gases[MAX_CYLINDERS]); | 
					
						
							| 
									
										
										
										
											2013-05-19 22:42:24 -07:00
										 |  |  | extern void process_selected_dives(void); | 
					
						
							| 
									
										
										
										
											2014-06-29 20:01:56 +02:00
										 |  |  | void selected_dives_gas_parts(volume_t *o2_tot, volume_t *he_tot); | 
					
						
							| 
									
										
										
										
											2013-05-06 20:55:27 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-11 19:14:46 +01:00
										 |  |  | #endif // STATISTICS_H
 |