Skip to content

Commit 8765478

Browse files
committed
Better errors when (Sub)SmallExtension is filled.
Previously, FORM warns only about SmallExtension, even if it is a sub-buffer sort. This prompts the user to adjust the wrong buffer in the setup.
1 parent 83e3d41 commit 8765478

File tree

2 files changed

+71
-2
lines changed

2 files changed

+71
-2
lines changed

check/fixes.frm

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2827,3 +2827,62 @@ print;
28272827
assert succeeded?
28282828
assert result("F") =~ expr("5000")
28292829
*--#] Issue508 :
2830+
*--#[ Issue512_1 :
2831+
#-
2832+
* Sort which fills SmallExtension:
2833+
2834+
#: SmallSize 1000K
2835+
#: SmallExtension 1200K
2836+
#: SubSmallSize 1000K
2837+
#: SubSmallExtension 1200K
2838+
#: SubTermsInSmall 2M
2839+
2840+
Symbol x,n;
2841+
CFunction f,g,prf;
2842+
2843+
Local test = (<f(1)>+...+<f(150)>)*(<g(1)>+...+<g(100)>);
2844+
.sort
2845+
2846+
Off parallel;
2847+
PolyRatFun prf;
2848+
2849+
Identify f(x?) = prf(n-x,n+x);
2850+
2851+
.end
2852+
# Fails due to polynomial size on 32bit builds
2853+
#require wordsize >= 4
2854+
# Runtime errors may freeze ParFORM.
2855+
#pend_if mpi?
2856+
assert runtime_error?("Please increase SmallExtension setup parameter.")
2857+
*--#] Issue512_1 :
2858+
*--#[ Issue512_2 :
2859+
#-
2860+
2861+
* Sort which fills SubSmallExtension:
2862+
2863+
#: SmallSize 1000K
2864+
#: SmallExtension 1200K
2865+
#: TermsInSmall 2M
2866+
#: SubSmallSize 1000K
2867+
#: SubSmallExtension 1200K
2868+
#: SubTermsInSmall 2M
2869+
2870+
Symbol x,n;
2871+
CFunction f,g,prf;
2872+
2873+
Local test = 1;
2874+
.sort
2875+
2876+
PolyRatFun prf;
2877+
Term;
2878+
Multiply (<f(1)>+...+<f(150)>)*(<g(1)>+...+<g(100)>);
2879+
Identify f(x?) = prf(n-x,n+x);
2880+
EndTerm;
2881+
2882+
.end
2883+
# Fails due to polynomial size on 32bit builds
2884+
#require wordsize >= 4
2885+
# Runtime errors may freeze ParFORM.
2886+
#pend_if mpi?
2887+
assert runtime_error?("Please increase SubSmallExtension setup parameter.")
2888+
*--#] Issue512_2 :

sources/sort.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2234,11 +2234,21 @@ WORD AddPoly(PHEAD WORD **ps1, WORD **ps2)
22342234
TalToLine((UWORD)(*s2++)); TokenToLine((UBYTE *)" ");
22352235
}
22362236
FiniLine();
2237-
MesPrint("Please increase SmallExtension in %s",setupfilename);
2237+
if ( AR.sLevel > 0 ) {
2238+
MesPrint("Please increase SubSmallExtension setup parameter.");
2239+
}
2240+
else {
2241+
MesPrint("Please increase SmallExtension setup parameter.");
2242+
}
22382243
MUNLOCK(ErrorMessageLock);
22392244
#else
22402245
MLOCK(ErrorMessageLock);
2241-
MesPrint("Please increase SmallExtension in %s",setupfilename);
2246+
if ( AR.sLevel > 0 ) {
2247+
MesPrint("Please increase SubSmallExtension setup parameter.");
2248+
}
2249+
else {
2250+
MesPrint("Please increase SmallExtension setup parameter.");
2251+
}
22422252
MUNLOCK(ErrorMessageLock);
22432253
#endif
22442254
Terminate(-1);

0 commit comments

Comments
 (0)