~ubuntu-branches/ubuntu/karmic/pypy/karmic

« back to all changes in this revision

Viewing changes to pypy/lib/logic/gecode_wrapper/gecode_wrap.cc

  • Committer: Bazaar Package Importer
  • Author(s): Alexandre Fayolle
  • Date: 2007-04-13 09:33:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070413093309-yoojh4jcoocu2krz
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
#include "gecode_wrap.h"
 
3
#include "space_wrap.hh"
 
4
 
 
5
 
 
6
void* new_space()
 
7
{
 
8
        return (void*) new MySpace();
 
9
}
 
10
 
 
11
int new_int_var( void* spc, int is_temp, int _min, int _max )
 
12
{
 
13
        MySpace* _spc = static_cast<MySpace*>(spc);
 
14
        return _spc->intVar( is_temp, _min, _max );
 
15
}
 
16
 
 
17
void space_alldiff( void* spc, int n, int* vars )
 
18
{
 
19
        MySpace* _spc = static_cast<MySpace*>(spc);
 
20
        _spc->alldiff( vars, vars+n );
 
21
}
 
22
 
 
23
void space_linear( void* spc, int n, int* coefs, int* vars,
 
24
             int type, int val )
 
25
{
 
26
        MySpace* _spc = static_cast<MySpace*>(spc);
 
27
        _spc->linear( coefs, coefs+n, vars, vars+n, (IntRelType)type, val );
 
28
}
 
29
 
 
30
void space_branch( void* spc )
 
31
{
 
32
        MySpace* _spc = static_cast<MySpace*>(spc);
 
33
        _spc->branch();
 
34
}
 
35
 
 
36
void* new_dfs( void* spc, int d_c, int d_a )
 
37
{
 
38
        MySpace* _spc = static_cast<MySpace*>(spc);
 
39
        return new MyDFSEngine( _spc, d_c, d_a );
 
40
}
 
41
 
 
42
void* search_next( void* search )
 
43
{
 
44
        MySearchEngine* _eng = static_cast<MySearchEngine*>(search);
 
45
        return _eng->next();
 
46
}
 
47
 
 
48
 
 
49
void space_values( void* spc, int n, int* vars, int* values )
 
50
{
 
51
        MySpace* _spc = static_cast<MySpace*>(spc);
 
52
        _spc->int_values( n, vars, values );
 
53
}
 
54
 
 
55
void space_release( void* spc )
 
56
{
 
57
        MySpace* _spc = static_cast<MySpace*>(spc);
 
58
        delete _spc;
 
59
}
 
60
 
 
61
 
 
62
 
 
63
void* new_propagator( void* spc, PropagatorCallback cb )
 
64
{
 
65
    MySpace* _spc = static_cast<MySpace*>(spc);
 
66
    return (void*)new (_spc) MyPropagator(_spc, cb);
 
67
}
 
68
 
 
69
int propagator_create_int_view( void* prp, int var )
 
70
{
 
71
    MyPropagator* _prp = static_cast<MyPropagator*>(prp);
 
72
    return _prp->add_int_view( var );
 
73
}
 
74
 
 
75
int int_view_lq( void* prp, int view, int value )
 
76
{
 
77
    MyPropagator* _prp = static_cast<MyPropagator*>(prp);
 
78
    IntView& _view = _prp->get_int_view( view );
 
79
    return _view.lq( _prp->home, value );
 
80
 
81
 
 
82
int int_view_gq( void* prp, int view, int value )
 
83
{
 
84
    MyPropagator* _prp = static_cast<MyPropagator*>(prp);
 
85
    IntView& _view = _prp->get_int_view( view );
 
86
    return _view.gq( _prp->home, value );
 
87
 
88
 
 
89
int int_view_min( void* prp, int view )
 
90
{
 
91
    MyPropagator* _prp = static_cast<MyPropagator*>(prp);
 
92
    IntView& _view = _prp->get_int_view( view );
 
93
    return _view.min();
 
94
 
95
 
 
96
int int_view_max( void* prp, int view )
 
97
{
 
98
    MyPropagator* _prp = static_cast<MyPropagator*>(prp);
 
99
    IntView& _view = _prp->get_int_view( view );
 
100
    return _view.max( );
 
101
 
102
 
 
103
int int_view_val( void* prp, int view )
 
104
{
 
105
    MyPropagator* _prp = static_cast<MyPropagator*>(prp);
 
106
    IntView& _view = _prp->get_int_view( view );
 
107
    return _view.val( );
 
108
 
109
 
 
110
int int_view_assigned( void* prp, int view )
 
111
{
 
112
    MyPropagator* _prp = static_cast<MyPropagator*>(prp);
 
113
    IntView& _view = _prp->get_int_view( view );
 
114
    return _view.assigned( );
 
115
}
 
116