Java Reference

Java Reference

SumOfVariables.java
Go to the documentation of this file.
1// Copyright 2010-2021 Google LLC
2// Licensed under the Apache License, Version 2.0 (the "License");
3// you may not use this file except in compliance with the License.
4// You may obtain a copy of the License at
5//
6// http://www.apache.org/licenses/LICENSE-2.0
7//
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
13
14package com.google.ortools.sat;
15
17public final class SumOfVariables implements LinearExpr {
18 private final IntVar[] variables;
19 private final long offset;
20
21 public SumOfVariables(IntVar[] variables) {
22 this.variables = variables;
23 this.offset = 0;
24 }
25
26 public SumOfVariables(IntVar[] variables, long offset) {
27 this.variables = variables;
28 this.offset = offset;
29 }
30
31 @Override
32 public int numElements() {
33 return variables.length;
34 }
35
36 @Override
37 public IntVar getVariable(int index) {
38 if (index < 0 || index >= variables.length) {
39 throw new IllegalArgumentException("wrong index in LinearExpr.getVariable(): " + index);
40 }
41 return variables[index];
42 }
43
44 @Override
45 public long getCoefficient(int index) {
46 return 1;
47 }
48
49 @Override
50 public long getOffset() {
51 return offset;
52 }
53}
A linear expression interface that can be parsed.
SumOfVariables(IntVar[] variables, long offset)
long getCoefficient(int index)
Returns the ith coefficient.
int numElements()
Returns the number of elements in the interface.
long getOffset()
Returns the constant part of the expression.
IntVar getVariable(int index)
Returns the ith variable.
A linear expression interface that can be parsed.
Definition: LinearExpr.java:20