00001 /* 00002 * $Id$ 00003 * 00004 * Author: David Fournier 00005 * Copyright (c) 2008-2012 Regents of the University of California 00006 */ 00011 #include "fvar.hpp" 00012 00013 #ifndef OPT_LIB 00014 #include <cassert> 00015 #include <climits> 00016 #endif 00017 00022 ivector ivector::operator()(const ivector& u) 00023 { 00024 ivector tmp(u.indexmin(),u.indexmax()); 00025 00026 for ( int i=u.indexmin(); i<=u.indexmax(); i++) 00027 { 00028 tmp(i)=(*this)(u(i)); 00029 } 00030 return tmp; 00031 } 00032 00037 lvector lvector::operator()(const lvector& u) 00038 { 00039 lvector tmp(u.indexmin(),u.indexmax()); 00040 00041 for ( int i=u.indexmin(); i<=u.indexmax(); i++) 00042 { 00043 #ifdef OPT_LIB 00044 tmp(i)=(*this)((int)u(i)); 00045 #else 00046 const long ui = u(i); 00047 assert(ui <= INT_MAX); 00048 tmp(i)=(*this)((int)ui); 00049 #endif 00050 } 00051 return tmp; 00052 }
Generated on Tue Mar 8 2016 19:51:34 for ADMB Documentation by 1.8.0 |