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) } }