Beispiel #1
0
func Make(app RenderApplication) BigRegionNumerics {
	sequence := bigsequence.Make(app)
	parent := bigbase.Make(app)
	planeMin := bigbase.BigComplex{parent.RealMin, parent.ImagMin}
	planeMax := bigbase.BigComplex{parent.RealMax, parent.ImagMax}
	reg := BigRegionNumerics{
		BigBaseNumerics:  parent,
		RegionConfig:     app.RegionConfig(),
		SequenceNumerics: &sequence,
		Region:           createBigRegion(parent, planeMin, planeMax),
	}
	return reg
}
func (factory *sequenceNumericsFactory) Build() sequence.SequenceNumerics {
	switch factory.desc.NumericsStrategy {
	case config.NativeNumericsMode:
		specialBase := makeNativeBaseFacade(factory.desc, factory.baseApp)
		nativeApp := nativesequence.Make(specialBase)
		return &nativeApp
	case config.BigFloatNumericsMode:
		specialBase := makeBigBaseFacade(factory.desc, factory.baseApp)
		bigApp := bigsequence.Make(specialBase)
		return &bigApp
	default:
		log.Panic("Invalid NumericsStrategy", factory.desc.NumericsStrategy)
		return nil
	}
}
func TestBigProxySequenceClaimExtrinsics(t *testing.T) {
	const picW = 100
	const picH = 100

	app := &bigbase.MockRenderApplication{}
	app.PictureWidth = picW
	app.PictureHeight = picH
	app.UserMin = bigbase.MakeBigComplex(-2.0, -2.0, prec)
	app.UserMax = bigbase.MakeBigComplex(2.0, 2.0, prec)
	app.Prec = prec

	numerics := bigsequence.Make(app)

	min := bigbase.MakeBigComplex(-1.0, -1.0, prec)
	max := bigbase.MakeBigComplex(1.0, 1.0, prec)
	region := createBigRegion(numerics.BigBaseNumerics, min, max)

	bsnp := BigSequenceNumericsProxy{
		BigSequenceNumerics: &numerics,
		LocalRegion:         region,
	}

	bsnp.ClaimExtrinsics()

	expect := base.BaseNumerics{
		WholeWidth:  picW,
		WholeHeight: picH,
		PicXMin:     25,
		PicXMax:     75,
		PicYMin:     25,
		PicYMax:     75,
	}

	actual := bsnp.BigBaseNumerics.BaseNumerics

	if actual != expect {
		t.Error("Expected ", expect, "but received", actual)
	}
}