source: trunk/src/core/RpUnitsCInterface.h @ 1040

Last change on this file since 1040 was 1018, checked in by gah, 16 years ago

Massive changes: New directory/file layout

File size: 2.6 KB
Line 
1/*
2 * ----------------------------------------------------------------------
3 *  INTERFACE: C Rappture Units Header
4 *
5 * ======================================================================
6 *  AUTHOR:  Derrick Kearney, Purdue University
7 *  Copyright (c) 2004-2005  Purdue Research Foundation
8 *
9 *  See the file "license.terms" for information on usage and
10 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
11 * ======================================================================
12 */
13
14#ifndef _RpUNITS_C_H
15#define _RpUNITS_C_H
16
17#ifdef __cplusplus
18    extern "C" {
19#endif // ifdef __cplusplus
20
21    typedef struct RpUnits RpUnits;
22
23    // unit definition functions
24    const RpUnits* rpDefineUnit  ( const char* unitSymbol,
25                                   const RpUnits* basis );
26
27    // conversion definition functions
28    const RpUnits* rpDefineConv  ( const RpUnits* fromUnit,
29                                   const RpUnits* toUnit,
30                                   double (*convForwFxnPtr)(double),
31                                   double (*convBackFxnPtr)(double)    );
32
33    // unit attribute access functions
34    const char* rpGetUnits       ( const RpUnits* unit );
35
36    const char* rpGetUnitsName   ( const RpUnits* unit );
37
38    double rpGetExponent         ( const RpUnits* unit );
39
40    const RpUnits* rpGetBasis    ( const RpUnits* unit);
41
42    const RpUnits* rpFind        ( const char* unitSymbol);
43
44    // convert functions
45
46    const char* rpConvert        ( const char* fromVal,
47                                   const char* toUnitsName,
48                                   int showUnits,
49                                   int* result );
50
51    const char* rpConvertStr     ( const char* fromVal,
52                                   const char* toUnitsName,
53                                   int showUnits,
54                                   int* result );
55
56    const char* rpConvert_ObjStr ( const RpUnits* fromUnits,
57                                   const RpUnits* toUnits,
58                                   double val,
59                                   int showUnits,
60                                   int* result );
61
62    double rpConvertDbl          ( const char* fromVal,
63                                   const char* toUnitsName,
64                                   int* result );
65
66    double rpConvert_ObjDbl      ( const RpUnits* fromUnits,
67                                   const RpUnits* toUnits,
68                                   double val,
69                                   int* result );
70
71    int rpAddPresets ( const char* presetName );
72
73#ifdef __cplusplus
74    }
75#endif // ifdef __cplusplus
76
77#endif // ifndef _RpUNITS_C_H
Note: See TracBrowser for help on using the repository browser.