Skip to main content

dec_number_sys/
dec_quad_c.rs

1//! Unsafe bindings for 128-bit decimal.
2
3use crate::{DecContext, DecQuad};
4use libc::{c_char, c_int, c_uchar, c_uint};
5
6extern "C" {
7  /// Unsafe binding to *decQuadAbs* function.
8  pub fn decQuadAbs(dq: *mut DecQuad, dq1: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
9  /// Unsafe binding to *decQuadAdd* function.
10  pub fn decQuadAdd(dq: *mut DecQuad, dq1: *const DecQuad, dq2: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
11  /// Unsafe binding to *decQuadAnd* function.
12  pub fn decQuadAnd(dq: *mut DecQuad, dq1: *const DecQuad, dq2: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
13  /// Unsafe binding to *decDoubleCanonical* function.
14  pub fn decQuadCanonical(dq: *mut DecQuad, dq1: *const DecQuad) -> *mut DecQuad;
15  /// Unsafe binding to *decQuadCompare* function.
16  pub fn decQuadCompare(
17    dq: *mut DecQuad,
18    dq1: *const DecQuad,
19    dq2: *const DecQuad,
20    dc: *mut DecContext,
21  ) -> *mut DecQuad;
22  /// Unsafe binding to *decQuadCompareSignal* function.
23  pub fn decQuadCompareSignal(
24    dq: *mut DecQuad,
25    dq1: *const DecQuad,
26    dq2: *const DecQuad,
27    dc: *mut DecContext,
28  ) -> *mut DecQuad;
29  /// Unsafe binding to *decQuadCompareTotal* function.
30  pub fn decQuadCompareTotal(dq: *mut DecQuad, dq1: *const DecQuad, dq2: *const DecQuad) -> *mut DecQuad;
31  /// Unsafe binding to *decQuadCompareTotalMag* function.
32  pub fn decQuadCompareTotalMag(dq: *mut DecQuad, dq1: *const DecQuad, dq2: *const DecQuad) -> *mut DecQuad;
33  /// Unsafe binding to *decQuadCopy* function.
34  pub fn decQuadCopy(dq: *mut DecQuad, dq1: *const DecQuad) -> *mut DecQuad;
35  /// Unsafe binding to *decQuadCopyAbs* function.
36  pub fn decQuadCopyAbs(dq: *mut DecQuad, dq1: *const DecQuad) -> *mut DecQuad;
37  /// Unsafe binding to *decQuadCopyNegate* function.
38  pub fn decQuadCopyNegate(dq: *mut DecQuad, dq1: *const DecQuad) -> *mut DecQuad;
39  /// Unsafe binding to *decQuadCopySign* function.
40  pub fn decQuadCopySign(dq: *mut DecQuad, dq1: *const DecQuad, dq2: *const DecQuad) -> *mut DecQuad;
41  /// Unsafe binding to *decQuadDigits* function.
42  pub fn decQuadDigits(dq1: *const DecQuad) -> c_uint;
43  /// Unsafe binding to *decQuadDivide* function.
44  pub fn decQuadDivide(dq: *mut DecQuad, dq1: *const DecQuad, dq2: *const DecQuad, dc: *mut DecContext)
45    -> *mut DecQuad;
46  /// Unsafe binding to *decQuadDivideInteger* function.
47  pub fn decQuadDivideInteger(
48    dq: *mut DecQuad,
49    dq1: *const DecQuad,
50    dq2: *const DecQuad,
51    dc: *mut DecContext,
52  ) -> *mut DecQuad;
53  /// Unsafe binding to *decQuadFMA* function.
54  pub fn decQuadFMA(
55    dq: *mut DecQuad,
56    dq1: *const DecQuad,
57    dq2: *const DecQuad,
58    dq3: *const DecQuad,
59    dc: *mut DecContext,
60  ) -> *mut DecQuad;
61  /// Unsafe binding to *decQuadFromBCD* function.
62  pub fn decQuadFromBCD(dq: *mut DecQuad, exp: c_int, bcd: *const c_uchar, sign: c_int) -> *mut DecQuad;
63  /// Unsafe binding to *decQuadFromInt32* function.
64  pub fn decQuadFromInt32(dq: *mut DecQuad, n: c_int) -> *mut DecQuad;
65  //  /// Unsafe binding to *decQuadFromNumber* function.
66  //  pub fn decQuadFromNumber(dq: *mut DecQuad, dn: *const DecNumber, dc: *mut DecContext) -> *mut DecQuad;
67  //   /// Unsafe binding to *decQuadFromPacked* function.
68  //   pub fn decQuadFromPacked(dq: *mut DecQuad, exp: c_int, pack: *const c_uchar) -> *mut DecQuad;
69  /// Unsafe binding to *decQuadFromString* function.
70  pub fn decQuadFromString(dq: *mut DecQuad, s: *const c_char, dc: *mut DecContext) -> *mut DecQuad;
71  /// Unsafe binding to *decQuadFromUInt32* function.
72  pub fn decQuadFromUInt32(dq: *mut DecQuad, n: c_uint) -> *mut DecQuad;
73  /// Unsafe binding to *decQuadFromWider* function.
74  pub fn decQuadFromWider(dq: *mut DecQuad, dq1: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
75  /// Unsafe binding to *decQuadGetCoefficient* function.
76  pub fn decQuadGetCoefficient(dq1: *const DecQuad, bcd: *const c_uchar) -> c_int;
77  /// Unsafe binding to *decQuadGetExponent* function.
78  pub fn decQuadGetExponent(dq1: *const DecQuad) -> DecQuad;
79  /// Unsafe binding to *decQuadInvert* function.
80  pub fn decQuadInvert(dq: *mut DecQuad, dq1: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
81  /// Unsafe binding to *decQuadIsCanonical* function.
82  pub fn decQuadIsCanonical(arg1: *const DecQuad) -> c_uint;
83  /// Unsafe binding to *decQuadIsFinite* function.
84  pub fn decQuadIsFinite(arg1: *const DecQuad) -> c_uint;
85  /// Unsafe binding to *decQuadIsInfinite* function.
86  pub fn decQuadIsInfinite(arg1: *const DecQuad) -> c_uint;
87  /// Unsafe binding to *decQuadIsInteger* function.
88  pub fn decQuadIsInteger(arg1: *const DecQuad) -> c_uint;
89  /// Unsafe binding to *decQuadIsLogical* function.
90  pub fn decQuadIsLogical(arg1: *const DecQuad) -> c_uint;
91  /// Unsafe binding to *decQuadIsNaN* function.
92  pub fn decQuadIsNaN(arg1: *const DecQuad) -> c_uint;
93  /// Unsafe binding to *decQuadIsNegative* function.
94  pub fn decQuadIsNegative(arg1: *const DecQuad) -> c_uint;
95  /// Unsafe binding to *decQuadIsNormal* function.
96  pub fn decQuadIsNormal(arg1: *const DecQuad) -> c_uint;
97  /// Unsafe binding to *decQuadIsPositive* function.
98  pub fn decQuadIsPositive(arg1: *const DecQuad) -> c_uint;
99  /// Unsafe binding to *decQuadIsSignaling* function.
100  pub fn decQuadIsSignaling(arg1: *const DecQuad) -> c_uint;
101  /// Unsafe binding to *decQuadIsSignalling* function.
102  pub fn decQuadIsSignalling(arg1: *const DecQuad) -> c_uint;
103  /// Unsafe binding to *decQuadIsZero* function.
104  pub fn decQuadIsZero(arg1: *const DecQuad) -> c_uint;
105  /// Unsafe binding to *decQuadMinus* function.
106  pub fn decQuadMinus(dq: *mut DecQuad, dq1: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
107  /// Unsafe binding to *decQuadMultiply* function.
108  pub fn decQuadMultiply(
109    dq: *mut DecQuad,
110    dq1: *const DecQuad,
111    dq2: *const DecQuad,
112    dc: *mut DecContext,
113  ) -> *mut DecQuad;
114  /// Unsafe binding to *decQuadPlus* function.
115  pub fn decQuadPlus(dq: *mut DecQuad, dq1: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
116  /// Unsafe binding to *decQuadQuantize* function.
117  pub fn decQuadQuantize(
118    dq: *mut DecQuad,
119    dq1: *const DecQuad,
120    dq2: *const DecQuad,
121    dc: *mut DecContext,
122  ) -> *mut DecQuad;
123  /// Unsafe binding to *decQuadReduce* function.
124  pub fn decQuadReduce(dq: *mut DecQuad, dq1: *const DecQuad, dc: *mut DecContext) -> *mut DecQuad;
125  /// Unsafe binding to *decQuadRemainder* function.
126  pub fn decQuadRemainder(
127    dq: *mut DecQuad,
128    dq1: *const DecQuad,
129    dq2: *const DecQuad,
130    dc: *mut DecContext,
131  ) -> *mut DecQuad;
132  /// Unsafe binding to *decQuadScaleB* function.
133  pub fn decQuadScaleB(dq: *mut DecQuad, dq1: *const DecQuad, dq2: *const DecQuad, dc: *mut DecContext)
134    -> *mut DecQuad;
135  /// Unsafe binding to *decQuadSubtract* function.
136  pub fn decQuadSubtract(
137    dq: *mut DecQuad,
138    dq1: *const DecQuad,
139    dq2: *const DecQuad,
140    dc: *mut DecContext,
141  ) -> *mut DecQuad;
142  /// Unsafe binding to *decQuadToInt32* function.
143  pub fn decQuadToInt32(dq: *const DecQuad, dc: *mut DecContext, rounding: u32) -> c_int;
144  /// Unsafe binding to *decQuadToIntegralValue* function.
145  pub fn decQuadToIntegralValue(
146    dq: *mut DecQuad,
147    dq1: *const DecQuad,
148    dc: *mut DecContext,
149    rounding: u32,
150  ) -> *mut DecQuad;
151  /// Unsafe binding to *decQuadToString* function.
152  pub fn decQuadToString(dq: *const DecQuad, s: *mut c_char) -> *mut c_char;
153  /// Unsafe binding to *decQuadToUInt32* function.
154  pub fn decQuadToUInt32(dq: *const DecQuad, dc: *mut DecContext, rounding: u32) -> c_uint;
155  /// Unsafe binding to *decQuadZero* function.
156  pub fn decQuadZero(dq: *mut DecQuad);
157}
158
159/*
160
161
162  pub fn decQuadClass(){}
163  pub fn decQuadClassString(){}
164  pub fn decQuadFromNumber(){}
165  pub fn decQuadFromPacked(){}
166  pub fn decQuadFromPackedChecked(){}
167  pub fn decQuadFromWider(){}
168  pub fn decQuadIsSigned(){}
169  pub fn decQuadIsSubnormal(){}
170  pub fn decQuadLogB(){}
171  pub fn decQuadMax(){}
172  pub fn decQuadMaxMag(){}
173  pub fn decQuadMin(){}
174  pub fn decQuadMinMag(){}
175  pub fn decQuadNextMinus(){}
176  pub fn decQuadNextPlus(){}
177  pub fn decQuadNextToward(){}
178  pub fn decQuadOr(){}
179  pub fn decQuadRadix(){}
180  pub fn decQuadRemainderNear(){}
181  pub fn decQuadRotate(){}
182  pub fn decQuadSameQuantum(){}
183  pub fn decQuadSetCoefficient(){}
184  pub fn decQuadSetExponent(){}
185  pub fn decQuadShift(){}
186  pub fn decQuadShow(){}
187  pub fn decQuadToBCD(){}
188  pub fn decQuadToEngString(){}
189  pub fn decQuadToInt32Exact(){}
190  pub fn decQuadToIntegralExact(){}
191  pub fn decQuadToNumber(){}
192  pub fn decQuadToPacked(){}
193  pub fn decQuadToUInt32(){}
194  pub fn decQuadToUInt32Exact(){}
195  pub fn decQuadToWider(){}
196  pub fn decQuadVersion(){}
197  pub fn decQuadXor(){}
198  pub fn decQuadToUInt32Exact(){}
199  pub fn decQuadToWider(){}
200  pub fn decQuadVersion(){}
201  pub fn decQuadXor(){}
202  pub fn decQuadZero(){}
203*/