Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6mathlib.h
Go to the documentation of this file.
1 
10 #ifndef P6MATHLIB_H__
11 #define P6MATHLIB_H__ 1
12 
13 #include "p6com.h"
14 
15 
16 #ifdef __cplusplus
17 namespace P6R {
18 extern "C" {
19 #endif
20 
28 static const P6MATHLIBFLAGS P6MATHLIB_NOFLAGS = 0x00000000;
29 
30 
36 #undef INTERFACE
37 #define INTERFACE p6IMathlib
39 {
51  P6DECLCOMMETHOD(initialize)(P6THIS_ P6MATHLIBFLAGS flags ) P6PURE;
52 
66  P6DECLCOMMETHOD(round)(P6THIS_ P6FLOAT withDecimal, P6INT32* pToInteger ) P6PURE;
67 
94  P6DECLCOMMETHOD(roundHalfToEven)(P6THIS_ P6FLOAT withDecimal, P6INT32 precision, P6FLOAT* pRound ) P6PURE;
95 
119  P6DECLCOMMETHOD(roundHalfToEvenInt)(P6THIS_ P6INT32 noDecimal, P6INT32 precision, P6INT32* pRound ) P6PURE;
120 };
121 
122 
123 // {D69A4C7E-DBB9-487f-A57F-EB54008A0D8F}
124 #define IF_p6IMathlib {0xd69a4c7e,0xdbb9,0x487f,{0xa5,0x7f,0xeb,0x54,0x0,0x8a,0xd,0x8f}}
125 
126 // {A2132278-C115-478d-B933-2081DD3864F3}
127 #define COMP_p6Mathlib {0xa2132278,0xc115,0x478d,{0xb9,0x33,0x20,0x81,0xdd,0x38,0x64,0xf3}}
128 
129 #ifdef __cplusplus
130 } /* extern "C" */
131 } // namespace
132 #endif
133 
134 
135 #endif
136 
137 
138 
uint32_t P6UINT32
Definition: p6types.h:77
#define P6DECLAREICOM
Definition: p6defs.h:191
#define P6PURE
Definition: p6defs.h:192
C++ does not provide rounding functions, we provide them here including round half to even...
Definition: p6mathlib.h:38
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
P6UINT32 P6MATHLIBFLAGS
P6MATHLIBFLAGS.
Definition: p6mathlib.h:27
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
double P6FLOAT
Definition: p6types.h:93
P6COM definitions and interfaces.
int32_t P6INT32
Definition: p6types.h:76
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188