/*
* conversion.h
* Wcalc
*
* Created by Kyle Wheeler on Wed Jul 31 2002.
* Copyright (c) 2002 Kyle Wheeler. All rights reserved.
*
*/
#ifndef WCALC_CONVERSIONS
#define WCALC_CONVERSIONS
#include "number.h"
void uber_conversion(Number output, const int utype, const int fromunit, const int tounit,
Number value);
int identify_unit(const char *unit);
int identify_units(const char *unit1, const char *unit2);
int unit_id(const int utype, const char *unit);
struct conversion
{
char *factor;
char *name;
char *aka[9];
};
struct conv_req
{
char *u1;
char *u2;
};
/* Conversion Types */
#define MAX_TYPE 10
#define LENGTH_C 0 /*-*/
#define AREA_C 1 /*-*/
#define VOLUME_C 2 /*-*/
#define MASS_C 3 /*-*/
#define SPEED_C 4 /*-*/
#define POWER_C 5 /*-*/
#define FORCE_C 6 /*-*/
#define ACCELERATION_C 7 /*-*/
#define TEMPERATURE_C 8 /*-*/
#define ANGLE_C 9 /*-*/
#define PRESSURE_C 10 /**/
/* Astronomical Units */
#define MAX_ASTRONOMICAL_UNIT 5
#define A_METERS 0
#define A_KILOMETERS 1
#define A_MILES 2
#define LIGHT_YEAR 4
#define PARSEC 5
/* Length Units */
#define LENGTH_UNIT_COUNT 87
/* Area Units */
#define AREA_UNIT_COUNT 74
/* Volume Units */
#define VOLUME_UNIT_COUNT 136
/* Angle Units */
#define ANGLE_UNIT_COUNT 12
/* Mass Units */
#define MASS_UNIT_COUNT 66
/* Speed Units */
#define SPEED_UNIT_COUNT 17
/* Power Units */
#define POWER_UNIT_COUNT 45
/* Force Units */
#define FORCE_UNIT_COUNT 13
/* Acceleration Units */
#define ACCELERATION_UNIT_COUNT 23
/* Pressure Units */
#define PRESSURE_UNIT_COUNT 41
/* Temperature Units */
#define TEMPERATURE_UNIT_COUNT 5
#define KELVIN 0
#define CELSIUS 1
#define RANKINE 2
#define FARENHEIT 3
#define REAUMUR 4
extern const struct conversion *conversions[MAX_TYPE + 2];
#endif
syntax highlighted by Code2HTML, v. 0.9.1