Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set
// doxy/ or-tools/ src/ constraint_solver/

or-tools/src/constraint_solver/expressions.cc File Reference

#include <math.h>
#include <string.h>
#include <algorithm>
#include "base/hash.h"
#include <string>
#include <utility>
#include <vector>
#include "base/commandlineflags.h"
#include "base/integral_types.h"
#include "base/logging.h"
#include "base/scoped_ptr.h"
#include "base/stringprintf.h"
#include "base/map-util.h"
#include "constraint_solver/constraint_solver.h"
#include "constraint_solver/constraint_solveri.h"
#include "util/bitset.h"
#include "util/const_int_array.h"

Go to the source code of this file.

Namespaces

namespace  operations_research

Defines

#define COND_REV_ALLOC(rev, alloc)   rev ? solver()->RevAlloc(alloc) : alloc;

Functions

 DEFINE_bool (cp_disable_expression_optimization, false,"Disable special optimization when creating expressions.")
 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
 DEFINE_bool (cp_share_int_consts, true,"Share IntConst's with the same value.")
int64 * operations_research::NewUniqueSortedArray (const int64 *const values, int *size)
bool operations_research::IsArrayActuallySorted (const int64 *const values, int size)
int64 operations_research::PosIntDivUp (int64 e, int64 v)
 Utility functions.
int64 operations_research::PosIntDivDown (int64 e, int64 v)
void operations_research::SetPosPosMinExpr (IntExpr *const left, IntExpr *const right, int64 m)
 Utilities for product expression.
void operations_research::SetPosPosMaxExpr (IntExpr *const left, IntExpr *const right, int64 m)
 Propagates set_max on left * right, left and right >= 0.
void operations_research::SetPosGenMinExpr (IntExpr *const left, IntExpr *const right, int64 m)
 Propagates set_min on left * right, left >= 0, right across 0.
void operations_research::SetGenGenMinExpr (IntExpr *const left, IntExpr *const right, int64 m)
 Propagates set_min on left * right, left and right across 0.
void operations_research::TimesSetMin (IntExpr *const left, IntExpr *const right, IntExpr *const minus_left, IntExpr *const minus_right, int m)
Action * operations_research::NewDomainIntVarCleaner ()
 namespace
void operations_research::RestoreBoolValue (IntVar *const var)
 namespace
string operations_research::IndexedName (const string &prefix, int index, int max_index)
void operations_research::LinkVarExpr (Solver *const s, IntExpr *const expr, IntVar *const var)
 IntExprElement.

Variables

static const int operations_research::kUnboundBooleanVarValue = 2
 Boolean variable.


Define Documentation

#define COND_REV_ALLOC ( rev,
alloc   )     rev ? solver()->RevAlloc(alloc) : alloc;

Definition at line 1163 of file expressions.cc.


Function Documentation

DEFINE_bool ( cp_share_int_consts  ,
true  ,
"Share IntConst's with the same value."   
)

DEFINE_bool ( cp_disable_expression_optimization  ,
false  ,
"Disable special optimization when creating expressions."   
)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Variable Documentation

DomainIntVar::BitSet* bits_

Definition at line 292 of file expressions.cc.

uint64* const bitset_

Definition at line 132 of file expressions.cc.

DomainIntVar::BitSetIterator* bitset_iterator_

Definition at line 862 of file expressions.cc.

BooleanVar* const boolvar_

Definition at line 3098 of file expressions.cc.

SimpleRevFIFO<Demon*> bound_demons_

Definition at line 287 of file expressions.cc.

const int bsize_

Definition at line 504 of file expressions.cc.

int64 cached_max_

Definition at line 4260 of file expressions.cc.

int64 cached_min_

Definition at line 4259 of file expressions.cc.

const int64 cst_

Definition at line 1499 of file expressions.cc.

int64 current_

Definition at line 135 of file expressions.cc.

SimpleRevFIFO<Demon*> domain_demons_

Definition at line 289 of file expressions.cc.

const int64 early_cost_

Definition at line 3920 of file expressions.cc.

const int64 early_date_

Definition at line 3921 of file expressions.cc.

IntExpr* const expr_

Definition at line 2478 of file expressions.cc.

uint64 fail_stamp_

Definition at line 4261 of file expressions.cc.

const int64 fixed_charge_

Definition at line 4004 of file expressions.cc.

Handler handler_

Definition at line 290 of file expressions.cc.

std::vector<int64> holes_

Definition at line 179 of file expressions.cc.

uint64 holes_stamp_

Definition at line 180 of file expressions.cc.

Definition at line 291 of file expressions.cc.

int index_

Definition at line 792 of file expressions.cc.

IntVarIterator* const iterator_

Definition at line 896 of file expressions.cc.

const int64 late_cost_

Definition at line 3923 of file expressions.cc.

const int64 late_date_

Definition at line 3922 of file expressions.cc.

IntExpr* const left_

Definition at line 2418 of file expressions.cc.

int64 max_

Definition at line 134 of file expressions.cc.

int64 min_

Definition at line 281 of file expressions.cc.

IntExpr* const minus_left_

Definition at line 2977 of file expressions.cc.

IntExpr* const minus_right_

Definition at line 2978 of file expressions.cc.

int64 new_max_

Definition at line 286 of file expressions.cc.

int64 new_min_

Definition at line 285 of file expressions.cc.

int64 old_max_

Definition at line 284 of file expressions.cc.

int64 old_min_

Definition at line 283 of file expressions.cc.

const int64 omax_

Definition at line 502 of file expressions.cc.

const int64 omin_

Definition at line 133 of file expressions.cc.

SimpleRevFIFO<Demon*> range_demons_

Definition at line 288 of file expressions.cc.

std::vector<int64> removed_

Definition at line 505 of file expressions.cc.

const bool reversible_

Definition at line 866 of file expressions.cc.

IntExpr* const right_

Definition at line 2419 of file expressions.cc.

int size_

Definition at line 503 of file expressions.cc.

Solver* const solver_

Definition at line 176 of file expressions.cc.

uint64 stamp_

Definition at line 708 of file expressions.cc.

uint64* stamps_

Definition at line 500 of file expressions.cc.

const int64 step_

Definition at line 4005 of file expressions.cc.

const int64 value_

Definition at line 1295 of file expressions.cc.

const int64* values_

Definition at line 790 of file expressions.cc.

DomainIntVar* var_

Definition at line 197 of file expressions.cc.