ADMB Documentation  11.1.2495
 All Classes Files Functions Variables Typedefs Friends Defines
f4arr1.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id: f4arr1.cpp 1952 2014-04-29 21:20:31Z johnoel $
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00011 #include "fvar.hpp"
00012 
00017 dvar4_array sqrt(const dvar4_array& m)
00018 {
00019   dvar4_array tmp;
00020   tmp.allocate(m);
00021   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00022   {
00023     tmp(i)=sqrt(m(i));
00024   }
00025   return tmp;
00026 }
00027 
00032 dvar4_array exp(const dvar4_array& m)
00033 {
00034   dvar4_array tmp;
00035   tmp.allocate(m);
00036   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00037   {
00038     tmp(i)=exp(m(i));
00039   }
00040   return tmp;
00041 }
00042 
00047 dvar4_array mfexp(const dvar4_array& m)
00048 {
00049   dvar4_array tmp;
00050   tmp.allocate(m);
00051   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00052   {
00053     tmp(i)=mfexp(m(i));
00054   }
00055   return tmp;
00056 }
00057 
00062 dvar4_array log(const dvar4_array& m)
00063 {
00064   dvar4_array tmp;
00065   tmp.allocate(m);
00066   for (int i=tmp.hslicemin();i<=tmp.hslicemax();i++)
00067   {
00068     tmp(i)=log(m(i));
00069   }
00070   return tmp;
00071 }
00072 
00077 dvariable sum(const dvar4_array& m)
00078 {
00079   RETURN_ARRAYS_INCREMENT();
00080   dvariable tmp=0.;
00081   for (int i=m.indexmin();i<=m.indexmax();i++)
00082   {
00083     tmp+=sum(m.elem(i));
00084   }
00085   RETURN_ARRAYS_DECREMENT();
00086   return tmp;
00087 }