Revision 1975

trunk/tests/gtests/test_dvector.cpp (revision 1975)
1 1
#include <gtest/gtest.h>
2
#include <fvar.hpp>
2
#include <dvector.h>
3 3

  
4 4
extern "C"
5 5
{
trunk/src/linad99/dvar_vector.h (revision 1975)
1
/*
2
 * $Id$
3
 *
4
 * Author: David Fournier
5
 * Copyright (c) 2008-2012 Regents of the University of California
6
 *
7
 * ADModelbuilder and associated libraries and documentations are
8
 * provided under the general terms of the "New BSD" license
9
 *
10
 * License:
11
 *
12
 * Redistribution and use in source and binary forms, with or without
13
 * modification, are permitted provided that the following conditions are
14
 * met:
15
 *
16
 * 1. Redistributions of source code must retain the above copyright
17
 * notice, this list of conditions and the following disclaimer.
18
 *
19
 * 2.  Redistributions in binary form must reproduce the above copyright
20
 * notice, this list of conditions and the following disclaimer in the
21
 * documentation and/or other materials provided with the distribution.
22
 *
23
 * 3.  Neither the name of the  University of California, Otter Research,
24
 * nor the ADMB Foundation nor the names of its contributors may be used
25
 * to endorse or promote products derived from this software without
26
 * specific prior written permission.
27
 *
28
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39
 */
40

  
41
#ifndef __ADMB_DVAR_VECTOR_H__
42
#define __ADMB_DVAR_VECTOR_H__
43

  
44
#include <double_and_int.h>
45
#include <prevariable.h>
46

  
47
class double_and_int;
48
class arr_link;
49

  
50
class predvar_vector
51
{
52
   dvar_vector *p;
53
   int lb;
54
   int ub;
55
   inline predvar_vector(dvar_vector * _p, int _lb, int _ub)
56
   {
57
      p = _p;
58
      lb = _lb, ub = _ub;
59
   }
60
   friend class dvar_vector;
61
};
62

  
63

  
64
class dvar_vector
65
{
66
 public:
67
   double_and_int * va;
68
   int index_min;
69
   int index_max;
70
   arr_link *link_ptr;
71
   vector_shapex *shape;
72
 public:
73
   dvar_vector operator -();
74

  
75
   dvar_vector & operator --(void)
76
   {
77
      index_min--;
78
      index_max--;
79
      va++;
80
      return *this;
81
   }
82
   dvar_vector & operator ++(void)
83
   {
84
      index_min++;
85
      index_max++;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff