bc/dc - no rest for the wicked

David Hough uunet!Eng.Sun.COM!David.Hough
Tue Jul 6 08:45:48 PDT 1993


Steve Sommars sent me a bc script which reproduces ALL the test cases from
Dittmer's paper.    Neither SunOS 5.2 on SPARC nor 5.1 on x86 come out clean.
Anybody else who has fixed all the bugs would be justified in 
bragging about it here.


/*Ingo Dittmer, ACM Signum, April 1993, page 8-11*/
define g(x,y,z){
	auto a
	a=x%y
	if(a!=z){
"
x=";x
	"y=";y
	"Should be ";z
	"was       ";a
	}
}
/*Table 1*/
g=g(53894380494284,9980035577,2188378484)
g=g(47907874973121,9980035577,3704203521)
g=g(76850276401922,9980035577,4002459022)
g=g(85830854846664,9980035577,2548884464)
g=g(43915353970066,9980035577,3197431266)
g=g(35930746212825,9980035577,2618135625)
g=g(51900604524715,9980035577,4419524315)
g=g(87827018005068,9980035577,2704927468)
g=g(57887902441764,9980035577,3696095164)
g=g(96810941031110,9980035577,4595934210)
/*Table 2*/
g=g(86833646827370,9980035577,7337307470)
g=g(77850880592435,9980035577,6603091835)
g=g(84836601050323,9980035577,6298645823)
g=g(85835110016211,9980035577,6804054011)
g=g(94817143459192,9980035577,6805477692)
g=g(94818870293481,9980035577,8532311981)
g=g(91823235571154,9980035577,6908262754)
g=g(59885451951796,9980035577,5238489796)
g=g(80844460893239,9980035577,6172719539)
g=g(67869195894693,9980035577,4953971093)
g=g(95813990985202,9980035577,5649446002)
/*Skip Table 3, duplicate of line 1, table 1*/
/*Table 4*/
g=g(28420950579078013018256253301,17987947258,16619542243)
g=g(12015118977201790601658257234,16687885701,8697335297)
g=g(14349070374946789715188912007,13712994561,3605141129)
g=g(61984050238512905451986475027,13337935089,5296182558)
g=g(86189707791214681859449918641,17837971389,14435206830)
g=g(66747908181102582528134773954,19462997965,8615839889)
/*Table 6*/
g=g(4999253,9998,253)
g=g(8996373,9995,873)





More information about the Numeric-interest mailing list