Skip to main content

dec_number_sys/
dec_number_c.rs

1//! Unsafe bindings for arbitrary precision decimal.
2
3use crate::{DecContext, DecNumber};
4use libc::{c_char, c_int, c_uchar, c_uint};
5
6extern "C" {
7  /// Unsafe binding to *decNumberAdd* function.
8  pub fn decNumberAdd(
9    dn: *mut DecNumber,
10    dn1: *const DecNumber,
11    dn2: *const DecNumber,
12    dc: *mut DecContext,
13  ) -> *mut DecNumber;
14  /// Unsafe binding to *decNumberCompare* function.
15  pub fn decNumberCompare(
16    dn: *mut DecNumber,
17    dn1: *const DecNumber,
18    dn2: *const DecNumber,
19    dc: *mut DecContext,
20  ) -> *mut DecNumber;
21  /// Unsafe binding to *decNumberDivide* function.
22  pub fn decNumberDivide(
23    dn: *mut DecNumber,
24    dn1: *const DecNumber,
25    dn2: *const DecNumber,
26    dc: *mut DecContext,
27  ) -> *mut DecNumber;
28  /// Unsafe binding to *decNumberExp* function.
29  pub fn decNumberExp(dn: *mut DecNumber, dn1: *const DecNumber, dc: *mut DecContext) -> *mut DecNumber;
30  /// Unsafe binding to *decNumberFromInt32* function.
31  pub fn decNumberFromInt32(dn: *mut DecNumber, n: c_int) -> *mut DecNumber;
32  /// Unsafe binding to *decNumberFromString* function.
33  pub fn decNumberFromString(dn: *mut DecNumber, s: *const c_char, dc: *mut DecContext) -> *mut DecNumber;
34  /// Unsafe binding to *decNumberFromUInt32* function.
35  pub fn decNumberFromUInt32(dn: *mut DecNumber, n: c_uint) -> *mut DecNumber;
36  /// Unsafe binding to *decNumberLn* function.
37  pub fn decNumberLn(dn: *mut DecNumber, dn1: *const DecNumber, dc: *mut DecContext) -> *mut DecNumber;
38  /// Unsafe binding to *decNumberMinus* function.
39  pub fn decNumberMinus(dn: *mut DecNumber, dn1: *const DecNumber, dc: *mut DecContext) -> *mut DecNumber;
40  /// Unsafe binding to *decNumberMultiply* function.
41  pub fn decNumberMultiply(
42    dn: *mut DecNumber,
43    dn1: *const DecNumber,
44    dn2: *const DecNumber,
45    dc: *mut DecContext,
46  ) -> *mut DecNumber;
47  /// Unsafe binding to *decNumberPlus* function.
48  pub fn decNumberPlus(dn: *mut DecNumber, dn1: *const DecNumber, dc: *mut DecContext) -> *mut DecNumber;
49  /// Unsafe binding to *decNumberPower* function.
50  pub fn decNumberPower(
51    dn: *mut DecNumber,
52    dn1: *const DecNumber,
53    dn2: *const DecNumber,
54    dc: *mut DecContext,
55  ) -> *mut DecNumber;
56  /// Unsafe binding to *decNumberQuantize* function.
57  pub fn decNumberQuantize(
58    dn: *mut DecNumber,
59    dn1: *const DecNumber,
60    dn2: *const DecNumber,
61    dc: *mut DecContext,
62  ) -> *mut DecNumber;
63  /// Unsafe binding to *decNumberReduce* function.
64  pub fn decNumberReduce(dn: *mut DecNumber, dn1: *const DecNumber, dc: *mut DecContext) -> *mut DecNumber;
65  /// Unsafe binding to *decNumberRescale* function.
66  pub fn decNumberRescale(
67    dn: *mut DecNumber,
68    dn1: *const DecNumber,
69    dn2: *const DecNumber,
70    dc: *mut DecContext,
71  ) -> *mut DecNumber;
72  /// Unsafe binding to *decNumberScaleB* function.
73  pub fn decNumberScaleB(
74    dn: *mut DecNumber,
75    dn1: *const DecNumber,
76    dn2: *const DecNumber,
77    dc: *mut DecContext,
78  ) -> *mut DecNumber;
79  /// Unsafe binding to *decNumberSetBCD* function.
80  pub fn decNumberSetBCD(dn: *mut DecNumber, bcd: *const c_uchar, n: c_uint) -> *mut DecNumber;
81  /// Unsafe binding to *decNumberSquareRoot* function.
82  pub fn decNumberSquareRoot(dn: *mut DecNumber, dn1: *const DecNumber, dc: *mut DecContext) -> *mut DecNumber;
83  /// Unsafe binding to *decNumberSubtract* function.
84  pub fn decNumberSubtract(
85    dn: *mut DecNumber,
86    dn1: *const DecNumber,
87    dn2: *const DecNumber,
88    dc: *mut DecContext,
89  ) -> *mut DecNumber;
90  /// Unsafe binding to *decNumberToString* function.
91  pub fn decNumberToString(dn1: *const DecNumber, s: *mut c_char) -> *mut c_char;
92  /// Unsafe binding to *decNumberZero* function.
93  pub fn decNumberZero(dn: *mut DecNumber);
94}