00001 /* 00002 * $Id$ 00003 * 00004 * Author: David Fournier 00005 * Copyright (c) 2008-2012 Regents of the University of California 00006 */ 00007 #include <fvar.hpp> 00008 #include "cifstrem.h" 00013 //VECTOR_OPERATOR_DEFINE(dvector) 00014 //VECTOR_OPERATOR_DEFINE(ivector) 00015 //VECTOR_OPERATOR_DEFINE(lvector) 00016 00017 //MATRIX_OPERATOR_DEFINE(dmatrix) 00018 //MATRIX_OPERATOR_DEFINE(imatrix) 00019 //MATRIX_OPERATOR_DEFINE(lmatrix) 00020 00021 cifstream& cifstream::operator>>(const ivector& z) 00022 { 00023 if (allocated(z)) 00024 for (int i= z.indexmin(); i <= z.indexmax(); i++) 00025 { 00026 *this >> z[i]; 00027 } 00028 return *this; 00029 } 00030 00031 cifstream& operator>>(cifstream& istr, const prevariable& z) 00032 { 00033 istr >> value(z); 00034 return istr; 00035 } 00036 00037 cifstream& cifstream::operator>>(const lvector& z) 00038 { 00039 if (allocated(z)) 00040 for (int i= z.indexmin(); i <= z.indexmax(); i++) 00041 { 00042 *this >> z[i]; 00043 } 00044 return *this; 00045 } 00046 00047 cifstream& operator>>(cifstream& istr, const imatrix& z) 00048 { 00049 if (allocated(z)) 00050 for (int i= z.rowmin(); i <= z.rowmax(); i++) 00051 { 00052 istr >> z[i]; 00053 } 00054 return istr; 00055 } 00056 00057 cifstream& cifstream::operator>>(const dvector& z) 00058 { 00059 if (allocated(z)) 00060 for (int i= z.indexmin(); i <= z.indexmax(); i++) 00061 { 00062 *this >> z[i]; 00063 } 00064 return *this; 00065 } 00066 00067 cifstream& operator>>(cifstream& istr, const dmatrix& z) 00068 { 00069 if (allocated(z)) 00070 for (int i= z.rowmin(); i <= z.rowmax(); i++) 00071 { 00072 istr >> z[i]; 00073 } 00074 return istr; 00075 } 00076 00077 cifstream& operator>>(cifstream& istr, const d3_array& z) 00078 { 00079 if (allocated(z)) 00080 for (int i= z.slicemin(); i <= z.slicemax(); i++) 00081 { 00082 istr >> z[i]; 00083 } 00084 return istr; 00085 } 00086 00087 cifstream& operator>>(cifstream& istr, const d5_array& z) 00088 { 00089 if (allocated(z)) 00090 for (int i= z.indexmin(); i <= z.indexmax(); i++) 00091 { 00092 istr >> z[i]; 00093 } 00094 return istr; 00095 } 00096 00097 cifstream& operator>>(cifstream& istr, const i4_array& z) 00098 { 00099 if (allocated(z)) 00100 for (int i= z.indexmin(); i <= z.indexmax(); i++) 00101 { 00102 istr >> z[i]; 00103 } 00104 return istr; 00105 } 00106 00107 cifstream& operator>>(cifstream& istr, const i3_array& z) 00108 { 00109 if (allocated(z)) 00110 for (int i= z.indexmin(); i <= z.indexmax(); i++) 00111 { 00112 istr >> z[i]; 00113 } 00114 return istr; 00115 } 00116 00117 cifstream& operator>>(cifstream& istr, const d4_array& z) 00118 { 00119 if (allocated(z)) 00120 for (int i= z.hslicemin(); i <= z.hslicemax(); i++) 00121 { 00122 istr >> z[i]; 00123 } 00124 return istr; 00125 }
Generated on Tue Mar 8 2016 19:51:30 for ADMB Documentation by 1.8.0 |