[gecode-users] access to Space during branching?

Martin Mann qyu at gmx.de
Tue Jun 6 15:14:23 CEST 2006


Dear Christian,

I checked the current trunk version and it's exactly what I needed! 
Thanks a lot!

One thing remains: the "make; make test; ./test/test" crashes for the 
trunk version like that:

===================================================
...
Stress::Exec: +++++
Stress::MinSort: +++++
Stress::Regular: Segmentation fault (core dumped)
===================================================

Doesnt matter for the moment. All of my stuff is still working well, but 
I think it's worthy to tell you! (I'm using a cygwin system on winXP prof.)

Cheers,

Martin


> Hmm, you are absolutely right: also branch should take a space argument.
> I'll do that right now on the trunk version.
> 
> There is no other way to obtain a space...
> 
> Christian
> 
> --
> Christian Schulte, http://www.imit.kth.se/~schulte/ 
> 
> -----Original Message-----
> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
> Of Martin Mann
> Sent: Friday, June 02, 2006 3:28 PM
> To: gecode user list
> Subject: [gecode-users] access to Space during branching?
> 
> 
> I know the weekend is near, but I ve got another question.
> 
> what exactly is done in this private Space function?
> ist it possible to get some comments about that?
> 
> ============================
>    /*
>     * Performing branching after propagation
>     *
>     */
> 
>    unsigned int
>    Space::branchings(void) {
>      while (b_fst != &a_actors) {
>        unsigned int alt = b_fst->branch();
>        if (alt > 0)
> 	return alt;
>        Branching* b = b_fst;
>        b_fst = static_cast<Branching*>(b->next());
>        b->unlink();
>        b->unlink_delete();
>        delete b;
>        mm.reuse(reinterpret_cast<MemoryManager::ReuseChunk*>(b));
>      }
>      return 0;
>    }
> =============================
> 
> the reason why i m diving so deep in the source code is that i try to 
> implement my own branching class derived from ViewValBranching. this class
> need the access to the space to branch not only to the variables.
> 
> the only way i see at the moment to do something like that is to use the 
> calling space as parameter for the branching call...
> like
> 
> unsigned int alt = b_fst->branch(this);
> 
> but therefor i ve got to understand the mechanisms done in branchings().. ;)
> 
> 
> additionally .. if you see another possibility to get access to the home 
> Space from a Branching derived class e.g. via the ViewArray etc. please 
> let me know!
> 
> the only thing i need is access in the "branch(void)" function in a 
> ViewValBranching derived class (e.g. MyBranching) to the calling 
> "fatherspace" (a Space derived class.. e.g. MySpace). for simplification 
> at the moment it is a preliminary that the calling space is an instance 
> of MySpace if MyBranching is used.
> 
> hope you can help
> 
> at the end just for sure: is there only one Branching instance for a 
> space? and this is not cloned etc?
> 
> Thanks a lot
> 
> Martin
> 
> 
> 
> _______________________________________________
> Gecode users mailing list
> users at gecode.org https://www.gecode.org/mailman/listinfo/gecode-users
> 
> 




More information about the gecode-users mailing list