Java Reference

Java Reference

LinearExpr.java
Go to the documentation of this file.
1 // Copyright 2010-2018 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 
14 package com.google.ortools.sat;
15 
17 public interface LinearExpr {
19  int numElements();
20 
22  IntVar getVariable(int index);
23 
25  long getCoefficient(int index);
26 
28  static LinearExpr sum(IntVar[] variables) {
29  return new SumOfVariables(variables);
30  }
31 
33  static LinearExpr scalProd(IntVar[] variables, long[] coefficients) {
34  return new ScalProd(variables, coefficients);
35  }
36 
38  static LinearExpr scalProd(IntVar[] variables, int[] coefficients) {
39  long[] tmp = new long[coefficients.length];
40  for (int i = 0; i < coefficients.length; ++i) {
41  tmp[i] = coefficients[i];
42  }
43  return new ScalProd(variables, tmp);
44  }
45 
47  static LinearExpr term(IntVar variable, long coefficient) {
48  return new ScalProd(new IntVar[] {variable}, new long[] {coefficient});
49  }
50 }
A linear expression interface that can be parsed.
long getCoefficient(int index)
Returns the ith coefficient.
A linear expression interface that can be parsed.
Definition: ScalProd.java:17
int numElements()
Returns the number of elements in the interface.
static LinearExpr term(IntVar variable, long coefficient)
Creates a linear term (var * coefficient).
Definition: LinearExpr.java:47
static LinearExpr scalProd(IntVar[] variables, long[] coefficients)
Creates a scalar product.
Definition: LinearExpr.java:33
static LinearExpr scalProd(IntVar[] variables, int[] coefficients)
Creates a scalar product.
Definition: LinearExpr.java:38
static LinearExpr sum(IntVar[] variables)
Creates a sum expression.
Definition: LinearExpr.java:28
IntVar getVariable(int index)
Returns the ith variable.
An integer variable.
A linear expression interface that can be parsed.
Definition: LinearExpr.java:17