after multiple objections of libtom users [1], we decided to change licensing
[libtomfloat.git] / mpf_sub_d.c
blob7c8560dc750b34e95dc20ca92f56df851b19520c
1 /* LibTomFloat, multiple-precision floating-point library
3 * LibTomFloat is a library that provides multiple-precision
4 * floating-point artihmetic as well as trigonometric functionality.
6 * This library requires the public domain LibTomMath to be installed.
7 *
8 * This library is free for all purposes without any express
9 * gurantee it works
11 * Tom St Denis, tomstdenis@iahu.ca, http://float.libtomcrypt.org
13 #include <tomfloat.h>
15 int mpf_sub_d(mp_float *a, long b, mp_float *c)
17 int err;
18 mp_float tmp;
20 if ((err = mpf_init(&tmp, c->radix)) != MP_OKAY) {
21 return err;
24 if ((err = mpf_const_d(&tmp, b)) != MP_OKAY) { goto __ERR; }
25 err = mpf_sub(a, &tmp, c);
27 __ERR:
28 mpf_clear(&tmp);
29 return err;