ADMB Documentation  11.5.3197
 All Classes Files Functions Variables Typedefs Friends Defines
ranfill1.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id$
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00016 #include <fvar.hpp>
00017 
00018 #ifdef __TURBOC__
00019   #pragma hdrstop
00020   #include <iostream.h>
00021 #endif
00022 
00023 #ifdef __ZTC__
00024   #include <iostream.hpp>
00025 #endif
00026 
00027 #include <math.h>
00028 
00033 void dvar_vector::fill_seqadd(const double base, const double offset)
00034   {
00035     RETURN_ARRAYS_INCREMENT();
00036     double temp=0;
00037     for (int i=indexmin(); i<=indexmax(); i++)
00038     {
00039        elem(i) =base+temp;
00040        temp    =temp+offset;
00041     }
00042     RETURN_ARRAYS_DECREMENT();
00043   }
00053 void imatrix::colfill_seqadd(int j, int base, int offset)
00054   {
00055     int temp=0;
00056     for (int i=rowmin(); i<=rowmax(); i++)
00057     {
00058       (*this)[i][j] = base+temp;
00059       temp          = temp+offset;
00060     }
00061   }
00072 void dvar_matrix::colfill_seqadd(const int& j, const double base,
00073   const double offset)
00074   {
00075     double temp=0;
00076     RETURN_ARRAYS_INCREMENT();
00077     for (int i=rowmin(); i<=rowmax(); i++)
00078     {
00079       elem(i,j) =base+temp;
00080       temp      =temp+offset;
00081     }
00082     RETURN_ARRAYS_DECREMENT();
00083   }
00084 
00093 void dvar_matrix::rowfill_seqadd(const int& i, const double base,
00094   const double offset)
00095   {
00096     double temp=0;
00097     RETURN_ARRAYS_INCREMENT();
00098     for (int j=colmin(); j<=colmax(); j++)
00099     {
00100       elem(i,j) =base+temp;
00101       temp      =temp+offset;
00102     }
00103     RETURN_ARRAYS_DECREMENT();
00104   }
00105 
00114 void dvar_matrix::colfill(int j, const dvar_vector& v)
00115   {
00116     RETURN_ARRAYS_INCREMENT();
00117     for (int i=rowmin(); i<=rowmax(); i++)
00118     {
00119       (*this)[i][j]=v[i];
00120     }
00121     RETURN_ARRAYS_DECREMENT();
00122   }
00123 
00132 void dvar_matrix::rowfill(int i, const dvar_vector& v)
00133   {
00134     RETURN_ARRAYS_INCREMENT();
00135     // for (int j=colmin(); j<=colmax(); j++)
00136     // {
00137     //   (*this)[i][j]=v[j];
00138     // }
00139     (*this)[i]=v;
00140     RETURN_ARRAYS_DECREMENT();
00141   }