Remove ratpak reliance on flexible arrays

This commit is contained in:
Jérôme Laban 2019-05-14 21:49:09 -04:00
commit 3b788e0cf9
3 changed files with 313 additions and 553 deletions

View file

@ -131,7 +131,8 @@ void* zmalloc(size_t a)
void _dupnum(_In_ PNUMBER dest, _In_ const NUMBER* const src) void _dupnum(_In_ PNUMBER dest, _In_ const NUMBER* const src)
{ {
memcpy(dest, src, (int)(sizeof(NUMBER) + ((src)->cdigit) * (sizeof(MANTTYPE)))); memcpy(dest, src, (int)(sizeof(NUMBER) - sizeof(MANTTYPE*)));
memcpy(dest->mant, src->mant, (int)(src->cdigit) * sizeof(MANTTYPE));
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -151,6 +152,7 @@ void _destroynum(_In_ PNUMBER pnum)
{ {
if (pnum != nullptr) if (pnum != nullptr)
{ {
free(pnum->mant);
free(pnum); free(pnum);
} }
} }
@ -198,14 +200,18 @@ PNUMBER _createnum(_In_ uint32_t size)
uint32_t cbAlloc; uint32_t cbAlloc;
// sizeof( MANTTYPE ) is the size of a 'digit' // sizeof( MANTTYPE ) is the size of a 'digit'
if (SUCCEEDED(Calc_ULongAdd(size, 1, &cbAlloc)) && SUCCEEDED(Calc_ULongMult(cbAlloc, sizeof(MANTTYPE), &cbAlloc)) if (SUCCEEDED(Calc_ULongMult(size, sizeof(MANTTYPE), &cbAlloc)))
&& SUCCEEDED(Calc_ULongAdd(cbAlloc, sizeof(NUMBER), &cbAlloc)))
{ {
pnumret = (PNUMBER)zmalloc(cbAlloc); pnumret = (PNUMBER)zmalloc(sizeof(NUMBER));
if (pnumret == nullptr) if (pnumret == nullptr)
{ {
throw(CALC_E_OUTOFMEMORY); throw(CALC_E_OUTOFMEMORY);
} }
pnumret->mant = (MANTTYPE*)zmalloc(cbAlloc);
if (pnumret->mant == nullptr)
{
throw(CALC_E_OUTOFMEMORY);
}
} }
else else
{ {

View file

@ -4,591 +4,345 @@
#pragma once #pragma once
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_num_one = { 1, MANTTYPE p_init_num_one[] = {
1, 1,
0, };
{ inline const NUMBER init_num_one = { 1, 1, 0, p_init_num_one };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_num_two = { 1, MANTTYPE p_init_num_two[] = {
1,
0,
{
2, 2,
} }; };
inline const NUMBER init_num_two = { 1, 1, 0, p_init_num_two };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_num_five = { 1, MANTTYPE p_init_num_five[] = {
1,
0,
{
5, 5,
} }; };
inline const NUMBER init_num_five = { 1, 1, 0, p_init_num_five };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_num_six = { 1, MANTTYPE p_init_num_six[] = {
1,
0,
{
6, 6,
} }; };
inline const NUMBER init_num_six = { 1, 1, 0, p_init_num_six };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_num_ten = { 1, MANTTYPE p_init_num_ten[] = {
1,
0,
{
10, 10,
} }; };
inline const NUMBER init_num_ten = { 1, 1, 0, p_init_num_ten };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_smallest = { 1, MANTTYPE p_init_p_rat_smallest[] = {
1, 1,
0, };
{ inline const NUMBER init_p_rat_smallest = { 1, 1, 0, p_init_p_rat_smallest };
1, MANTTYPE p_init_q_rat_smallest[] = {
} };
inline const NUMBER init_q_rat_smallest = { 1,
4,
0,
{
0, 0,
190439170, 190439170,
901055854, 901055854,
10097, 10097,
} }; };
inline const NUMBER init_q_rat_smallest = { 1, 4, 0, p_init_q_rat_smallest };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_negsmallest = { -1, MANTTYPE p_init_p_rat_negsmallest[] = {
1, 1,
0, };
{ inline const NUMBER init_p_rat_negsmallest = { -1, 1, 0, p_init_p_rat_negsmallest };
1, MANTTYPE p_init_q_rat_negsmallest[] = {
} };
inline const NUMBER init_q_rat_negsmallest = { 1,
4,
0,
{
0, 0,
190439170, 190439170,
901055854, 901055854,
10097, 10097,
} }; };
inline const NUMBER init_q_rat_negsmallest = { 1, 4, 0, p_init_q_rat_negsmallest };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_pt_eight_five = { 1, MANTTYPE p_init_p_pt_eight_five[] = {
1,
0,
{
85, 85,
} }; };
inline const NUMBER init_q_pt_eight_five = { 1, inline const NUMBER init_p_pt_eight_five = { 1, 1, 0, p_init_p_pt_eight_five };
1, MANTTYPE p_init_q_pt_eight_five[] = {
0,
{
100, 100,
} }; };
inline const NUMBER init_q_pt_eight_five = { 1, 1, 0, p_init_q_pt_eight_five };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_six = { 1, MANTTYPE p_init_p_rat_six[] = {
1,
0,
{
6, 6,
} }; };
inline const NUMBER init_q_rat_six = { 1, inline const NUMBER init_p_rat_six = { 1, 1, 0, p_init_p_rat_six };
MANTTYPE p_init_q_rat_six[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_six = { 1, 1, 0, p_init_q_rat_six };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_two = { 1, MANTTYPE p_init_p_rat_two[] = {
1,
0,
{
2, 2,
} }; };
inline const NUMBER init_q_rat_two = { 1, inline const NUMBER init_p_rat_two = { 1, 1, 0, p_init_p_rat_two };
MANTTYPE p_init_q_rat_two[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_two = { 1, 1, 0, p_init_q_rat_two };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_zero = { 1, MANTTYPE p_init_p_rat_zero[] = {
1,
0, 0,
{ };
0, inline const NUMBER init_p_rat_zero = { 1, 1, 0, p_init_p_rat_zero };
} }; MANTTYPE p_init_q_rat_zero[] = {
inline const NUMBER init_q_rat_zero = { 1,
1, 1,
0, };
{ inline const NUMBER init_q_rat_zero = { 1, 1, 0, p_init_q_rat_zero };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_one = { 1, MANTTYPE p_init_p_rat_one[] = {
1, 1,
0, };
{ inline const NUMBER init_p_rat_one = { 1, 1, 0, p_init_p_rat_one };
MANTTYPE p_init_q_rat_one[] = {
1, 1,
} }; };
inline const NUMBER init_q_rat_one = { 1, inline const NUMBER init_q_rat_one = { 1, 1, 0, p_init_q_rat_one };
1,
0,
{
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_neg_one = { -1, MANTTYPE p_init_p_rat_neg_one[] = {
1, 1,
0, };
{ inline const NUMBER init_p_rat_neg_one = { -1, 1, 0, p_init_p_rat_neg_one };
MANTTYPE p_init_q_rat_neg_one[] = {
1, 1,
} }; };
inline const NUMBER init_q_rat_neg_one = { 1, inline const NUMBER init_q_rat_neg_one = { 1, 1, 0, p_init_q_rat_neg_one };
1,
0,
{
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_half = { 1, MANTTYPE p_init_p_rat_half[] = {
1, 1,
0, };
{ inline const NUMBER init_p_rat_half = { 1, 1, 0, p_init_p_rat_half };
1, MANTTYPE p_init_q_rat_half[] = {
} };
inline const NUMBER init_q_rat_half = { 1,
1,
0,
{
2, 2,
} }; };
inline const NUMBER init_q_rat_half = { 1, 1, 0, p_init_q_rat_half };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_ten = { 1, MANTTYPE p_init_p_rat_ten[] = {
1,
0,
{
10, 10,
} }; };
inline const NUMBER init_q_rat_ten = { 1, inline const NUMBER init_p_rat_ten = { 1, 1, 0, p_init_p_rat_ten };
MANTTYPE p_init_q_rat_ten[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_ten = { 1, 1, 0, p_init_q_rat_ten };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_pi = { 1, MANTTYPE p_init_p_pi[] = {
6, 125527896, 283898350, 1960493936, 1672850762, 1288168272, 8,
0, };
{ inline const NUMBER init_p_pi = { 1, 6, 0, p_init_p_pi };
125527896, MANTTYPE p_init_q_pi[] = {
283898350, 1288380402, 1120116153, 1860424692, 1944118326, 1583591604, 2,
1960493936, };
1672850762, inline const NUMBER init_q_pi = { 1, 6, 0, p_init_q_pi };
1288168272,
8,
} };
inline const NUMBER init_q_pi = { 1,
6,
0,
{
1288380402,
1120116153,
1860424692,
1944118326,
1583591604,
2,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_two_pi = { 1, MANTTYPE p_init_p_two_pi[] = {
6, 251055792, 567796700, 1773504224, 1198217877, 428852897, 17,
0, };
{ inline const NUMBER init_p_two_pi = { 1, 6, 0, p_init_p_two_pi };
251055792, MANTTYPE p_init_q_two_pi[] = {
567796700, 1288380402, 1120116153, 1860424692, 1944118326, 1583591604, 2,
1773504224, };
1198217877, inline const NUMBER init_q_two_pi = { 1, 6, 0, p_init_q_two_pi };
428852897,
17,
} };
inline const NUMBER init_q_two_pi = { 1,
6,
0,
{
1288380402,
1120116153,
1860424692,
1944118326,
1583591604,
2,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_pi_over_two = { 1, MANTTYPE p_init_p_pi_over_two[] = {
6, 125527896, 283898350, 1960493936, 1672850762, 1288168272, 8,
0, };
{ inline const NUMBER init_p_pi_over_two = { 1, 6, 0, p_init_p_pi_over_two };
125527896, MANTTYPE p_init_q_pi_over_two[] = {
283898350, 429277156, 92748659, 1573365737, 1740753005, 1019699561, 5,
1960493936, };
1672850762, inline const NUMBER init_q_pi_over_two = { 1, 6, 0, p_init_q_pi_over_two };
1288168272,
8,
} };
inline const NUMBER init_q_pi_over_two = { 1,
6,
0,
{
429277156,
92748659,
1573365737,
1740753005,
1019699561,
5,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_one_pt_five_pi = { 1, MANTTYPE p_init_p_one_pt_five_pi[] = {
6, 1241201312, 270061909, 1051574664, 1924965045, 1340320627, 70,
0, };
{ inline const NUMBER init_p_one_pt_five_pi = { 1, 6, 0, p_init_p_one_pt_five_pi };
1241201312, MANTTYPE p_init_q_one_pt_five_pi[] = {
270061909, 1579671539, 1837970263, 1067644340, 523549916, 2119366659, 14,
1051574664, };
1924965045, inline const NUMBER init_q_one_pt_five_pi = { 1, 6, 0, p_init_q_one_pt_five_pi };
1340320627,
70,
} };
inline const NUMBER init_q_one_pt_five_pi = { 1,
6,
0,
{
1579671539,
1837970263,
1067644340,
523549916,
2119366659,
14,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_e_to_one_half = { 1, MANTTYPE p_init_p_e_to_one_half[] = {
6, 256945612, 216219427, 223516738, 477442596, 581063757, 23,
0, };
{ inline const NUMBER init_p_e_to_one_half = { 1, 6, 0, p_init_p_e_to_one_half };
256945612, MANTTYPE p_init_q_e_to_one_half[] = {
216219427, 1536828363, 698484484, 1127331835, 224219346, 245499408, 14,
223516738, };
477442596, inline const NUMBER init_q_e_to_one_half = { 1, 6, 0, p_init_q_e_to_one_half };
581063757,
23,
} };
inline const NUMBER init_q_e_to_one_half = { 1,
6,
0,
{
1536828363,
698484484,
1127331835,
224219346,
245499408,
14,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_exp = { 1, MANTTYPE p_init_p_rat_exp[] = {
6, 943665199, 1606559160, 1094967530, 1759391384, 1671799163, 1123581,
0, };
{ inline const NUMBER init_p_rat_exp = { 1, 6, 0, p_init_p_rat_exp };
943665199, MANTTYPE p_init_q_rat_exp[] = {
1606559160, 879242208, 2022880100, 617392930, 1374929092, 1367479163, 413342,
1094967530, };
1759391384, inline const NUMBER init_q_rat_exp = { 1, 6, 0, p_init_q_rat_exp };
1671799163,
1123581,
} };
inline const NUMBER init_q_rat_exp = { 1,
6,
0,
{
879242208,
2022880100,
617392930,
1374929092,
1367479163,
413342,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_ln_ten = { 1, MANTTYPE p_init_p_ln_ten[] = {
6, 2086268922, 165794492, 1416063951, 1851428830, 1893239400, 65366841,
0, };
{ inline const NUMBER init_p_ln_ten = { 1, 6, 0, p_init_p_ln_ten };
2086268922, MANTTYPE p_init_q_ln_ten[] = {
165794492, 26790652, 564532679, 783998273, 216030448, 1564709968, 28388458,
1416063951, };
1851428830, inline const NUMBER init_q_ln_ten = { 1, 6, 0, p_init_q_ln_ten };
1893239400,
65366841,
} };
inline const NUMBER init_q_ln_ten = { 1,
6,
0,
{
26790652,
564532679,
783998273,
216030448,
1564709968,
28388458,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_ln_two = { 1, MANTTYPE p_init_p_ln_two[] = {
6, 1789230241, 1057927868, 715399197, 908801241, 1411265331, 3,
0, };
{ inline const NUMBER init_p_ln_two = { 1, 6, 0, p_init_p_ln_two };
1789230241, MANTTYPE p_init_q_ln_two[] = {
1057927868, 1559869847, 1930657510, 1228561531, 219003871, 593099283, 5,
715399197, };
908801241, inline const NUMBER init_q_ln_two = { 1, 6, 0, p_init_q_ln_two };
1411265331,
3,
} };
inline const NUMBER init_q_ln_two = { 1,
6,
0,
{
1559869847,
1930657510,
1228561531,
219003871,
593099283,
5,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rad_to_deg = { 1, MANTTYPE p_init_p_rad_to_deg[] = {
6, 2127722024, 1904928383, 2016479213, 2048947859, 1578647346, 492,
0, };
{ inline const NUMBER init_p_rad_to_deg = { 1, 6, 0, p_init_p_rad_to_deg };
2127722024, MANTTYPE p_init_q_rad_to_deg[] = {
1904928383, 125527896, 283898350, 1960493936, 1672850762, 1288168272, 8,
2016479213, };
2048947859, inline const NUMBER init_q_rad_to_deg = { 1, 6, 0, p_init_q_rad_to_deg };
1578647346,
492,
} };
inline const NUMBER init_q_rad_to_deg = { 1,
6,
0,
{
125527896,
283898350,
1960493936,
1672850762,
1288168272,
8,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rad_to_grad = { 1, MANTTYPE p_init_p_rad_to_grad[] = {
6, 2125526288, 684931327, 570267400, 129125085, 1038224725, 547,
0, };
{ inline const NUMBER init_p_rad_to_grad = { 1, 6, 0, p_init_p_rad_to_grad };
2125526288, MANTTYPE p_init_q_rad_to_grad[] = {
684931327, 125527896, 283898350, 1960493936, 1672850762, 1288168272, 8,
570267400, };
129125085, inline const NUMBER init_q_rad_to_grad = { 1, 6, 0, p_init_q_rad_to_grad };
1038224725,
547,
} };
inline const NUMBER init_q_rad_to_grad = { 1,
6,
0,
{
125527896,
283898350,
1960493936,
1672850762,
1288168272,
8,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_qword = { 1, MANTTYPE p_init_p_rat_qword[] = {
3,
0,
{
2147483647, 2147483647,
2147483647, 2147483647,
3, 3,
} }; };
inline const NUMBER init_q_rat_qword = { 1, inline const NUMBER init_p_rat_qword = { 1, 3, 0, p_init_p_rat_qword };
MANTTYPE p_init_q_rat_qword[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_qword = { 1, 1, 0, p_init_q_rat_qword };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_dword = { 1, MANTTYPE p_init_p_rat_dword[] = {
2,
0,
{
2147483647, 2147483647,
1, 1,
} }; };
inline const NUMBER init_q_rat_dword = { 1, inline const NUMBER init_p_rat_dword = { 1, 2, 0, p_init_p_rat_dword };
MANTTYPE p_init_q_rat_dword[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_dword = { 1, 1, 0, p_init_q_rat_dword };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_max_i32 = { 1, MANTTYPE p_init_p_rat_max_i32[] = {
1,
0,
{
2147483647, 2147483647,
} }; };
inline const NUMBER init_q_rat_max_i32 = { 1, inline const NUMBER init_p_rat_max_i32 = { 1, 1, 0, p_init_p_rat_max_i32 };
MANTTYPE p_init_q_rat_max_i32[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_max_i32 = { 1, 1, 0, p_init_q_rat_max_i32 };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_min_i32 = { -1, MANTTYPE p_init_p_rat_min_i32[] = {
2,
0,
{
0, 0,
1, 1,
} }; };
inline const NUMBER init_q_rat_min_i32 = { 1, inline const NUMBER init_p_rat_min_i32 = { -1, 2, 0, p_init_p_rat_min_i32 };
MANTTYPE p_init_q_rat_min_i32[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_min_i32 = { 1, 1, 0, p_init_q_rat_min_i32 };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_word = { 1, MANTTYPE p_init_p_rat_word[] = {
1,
0,
{
65535, 65535,
} }; };
inline const NUMBER init_q_rat_word = { 1, inline const NUMBER init_p_rat_word = { 1, 1, 0, p_init_p_rat_word };
MANTTYPE p_init_q_rat_word[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_word = { 1, 1, 0, p_init_q_rat_word };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_byte = { 1, MANTTYPE p_init_p_rat_byte[] = {
1,
0,
{
255, 255,
} }; };
inline const NUMBER init_q_rat_byte = { 1, inline const NUMBER init_p_rat_byte = { 1, 1, 0, p_init_p_rat_byte };
MANTTYPE p_init_q_rat_byte[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_byte = { 1, 1, 0, p_init_q_rat_byte };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_400 = { 1, MANTTYPE p_init_p_rat_400[] = {
1,
0,
{
400, 400,
} }; };
inline const NUMBER init_q_rat_400 = { 1, inline const NUMBER init_p_rat_400 = { 1, 1, 0, p_init_p_rat_400 };
MANTTYPE p_init_q_rat_400[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_400 = { 1, 1, 0, p_init_q_rat_400 };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_360 = { 1, MANTTYPE p_init_p_rat_360[] = {
1,
0,
{
360, 360,
} }; };
inline const NUMBER init_q_rat_360 = { 1, inline const NUMBER init_p_rat_360 = { 1, 1, 0, p_init_p_rat_360 };
MANTTYPE p_init_q_rat_360[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_360 = { 1, 1, 0, p_init_q_rat_360 };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_200 = { 1, MANTTYPE p_init_p_rat_200[] = {
1,
0,
{
200, 200,
} }; };
inline const NUMBER init_q_rat_200 = { 1, inline const NUMBER init_p_rat_200 = { 1, 1, 0, p_init_p_rat_200 };
MANTTYPE p_init_q_rat_200[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_200 = { 1, 1, 0, p_init_q_rat_200 };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_180 = { 1, MANTTYPE p_init_p_rat_180[] = {
1,
0,
{
180, 180,
} }; };
inline const NUMBER init_q_rat_180 = { 1, inline const NUMBER init_p_rat_180 = { 1, 1, 0, p_init_p_rat_180 };
MANTTYPE p_init_q_rat_180[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_180 = { 1, 1, 0, p_init_q_rat_180 };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_max_exp = { 1, MANTTYPE p_init_p_rat_max_exp[] = {
1,
0,
{
100000, 100000,
} }; };
inline const NUMBER init_q_rat_max_exp = { 1, inline const NUMBER init_p_rat_max_exp = { 1, 1, 0, p_init_p_rat_max_exp };
MANTTYPE p_init_q_rat_max_exp[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_max_exp = { 1, 1, 0, p_init_q_rat_max_exp };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_min_exp = { -1, MANTTYPE p_init_p_rat_min_exp[] = {
1,
0,
{
100000, 100000,
} }; };
inline const NUMBER init_q_rat_min_exp = { 1, inline const NUMBER init_p_rat_min_exp = { -1, 1, 0, p_init_p_rat_min_exp };
MANTTYPE p_init_q_rat_min_exp[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_min_exp = { 1, 1, 0, p_init_q_rat_min_exp };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_max_fact = { 1, MANTTYPE p_init_p_rat_max_fact[] = {
1,
0,
{
3249, 3249,
} }; };
inline const NUMBER init_q_rat_max_fact = { 1, inline const NUMBER init_p_rat_max_fact = { 1, 1, 0, p_init_p_rat_max_fact };
MANTTYPE p_init_q_rat_max_fact[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_max_fact = { 1, 1, 0, p_init_q_rat_max_fact };
1,
} };
// Autogenerated by _dumprawrat in support.cpp // Autogenerated by _dumprawrat in support.cpp
inline const NUMBER init_p_rat_min_fact = { -1, MANTTYPE p_init_p_rat_min_fact[] = {
1,
0,
{
1000, 1000,
} }; };
inline const NUMBER init_q_rat_min_fact = { 1, inline const NUMBER init_p_rat_min_fact = { -1, 1, 0, p_init_p_rat_min_fact };
MANTTYPE p_init_q_rat_min_fact[] = {
1, 1,
0, };
{ inline const NUMBER init_q_rat_min_fact = { 1, 1, 0, p_init_q_rat_min_fact };
1,
} };

View file

@ -66,7 +66,7 @@ typedef struct _number
// radix being used. // radix being used.
int32_t exp; // The offset of digits from the radix point int32_t exp; // The offset of digits from the radix point
// (decimal point in radix 10) // (decimal point in radix 10)
MANTTYPE mant[]; MANTTYPE* mant;
// This is actually allocated as a continuation of the // This is actually allocated as a continuation of the
// NUMBER structure. // NUMBER structure.
} NUMBER, *PNUMBER, **PPNUMBER; } NUMBER, *PNUMBER, **PPNUMBER;