Changeset 2601 in Sophya
- Timestamp:
- Aug 16, 2004, 6:14:00 PM (21 years ago)
- Location:
- trunk/SophyaExt/XAstroPack
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/XAstroPack/tstxastro.cc
r2322 r2601 24 24 sscanf(arg[2],"%lf,%c",&val0,&unite); 25 25 26 val = val0; InRange( &val,range);26 val = val0; InRange(val,range); 27 27 printf("InRange(%.9f, %.2f) = %.9f\n",val0,range,val); 28 val = val0; InRange( &val,range,vmax);28 val = val0; InRange(val,range,vmax); 29 29 printf("InRange(%.9f, %.2f, %.2f) = %.9f\n",val0,range,vmax,val); 30 30 … … 33 33 else if(unite=='d') un = TypUniteD; 34 34 else un = TypUniteR; 35 val = val0; InRangeCoLat( &val,un);35 val = val0; InRangeCoLat(val,un); 36 36 printf("InRangeCoLat(%.9f %c) = %.9f\n",val0,unite,val); 37 val = val0; InRangeLat( &val,un);37 val = val0; InRangeLat(val,un); 38 38 printf("InRangeLat(%.9f %c) = %.9f\n",val0,unite,val); 39 39 … … 106 106 107 107 double coord1 = coord1_ini, coord2 = coord2_ini; 108 unsigned long newtyp = CoordConvertToStd(typ, &coord1,&coord2);108 unsigned long newtyp = CoordConvertToStd(typ,coord1,coord2); 109 109 string newstr = DecodeTypAstro(newtyp); 110 110 -
trunk/SophyaExt/XAstroPack/xastropack.h
r2552 r2601 81 81 // ------------------- Utilitaires ------------------- 82 82 unsigned long CoordConvertToStd(unsigned long typ,double* coord1,double* coord2); 83 inline unsigned long CoordConvertToStd(unsigned long typ,double &coord1,double &coord2) 84 {return CoordConvertToStd(typ,&coord1,&coord2);} 85 83 86 unsigned long GetCoordUnit(int coordnum,unsigned long typ); 87 84 88 unsigned long DecodeTypAstro(const char *ctype); 85 89 inline unsigned long DecodeTypAstro(const string stype) 86 90 {return DecodeTypAstro(stype.c_str());} 87 91 string DecodeTypAstro(unsigned long typ); 92 88 93 void ToCoLat(double* val,unsigned long typ); 94 inline void ToCoLat(double &val,unsigned long typ) 95 {ToCoLat(&val,typ);} 96 89 97 void InRangeLat(double* val,unsigned long typ); 98 inline void InRangeLat(double &val,unsigned long typ) 99 {InRangeLat(&val,typ);} 100 90 101 void InRangeCoLat(double* val,unsigned long typ); 102 inline void InRangeCoLat(double &val,unsigned long typ) 103 {InRangeCoLat(&val,typ);} 91 104 92 105 /*! … … 105 118 inline void InRange(double *val,double range) 106 119 {*val-=range*floor(*val/range);} 120 inline void InRange(double &val,double range) 121 {val-=range*floor(val/range);} 122 107 123 inline void InRange(double *val,double range,double vmax) 108 124 {InRange(val,range); if(*val>vmax) *val-=range;} 125 inline void InRange(double &val,double range,double vmax) 126 {InRange(val,range); if(val>vmax) val-=range;} 109 127 110 128 // ------------------- Gestions des temps ------------------- … … 120 138 121 139 double MJDfrDate(double dy,int mn,int yr); 140 122 141 void DatefrMJD(double mjd,double *dy,int *mn,int *yr); 142 inline void DatefrMJD(double mjd,double &dy,int &mn,int &yr) 143 {DatefrMJD(mjd,&dy,&mn,&yr);} 144 123 145 double YearfrMJD(double mjd); 146 124 147 double MJDfrYear(double yr); 148 125 149 void YDfrMJD(double mjd,double *dy,int *yr); 150 inline void YDfrMJD(double mjd,double &dy,int &yr) 151 {YDfrMJD(mjd,&dy,&yr);} 152 126 153 int IsLeapYear(int y); 154 127 155 int DayOrder(double mjd,int *dow); 156 inline int DayOrder(double mjd,int &dow) 157 {return DayOrder(mjd,&dow);} 158 128 159 int DaysInMonth(double mjd); 129 160 double MJDat0hFrMJD(double mjd); … … 142 173 double GST0(double mjd0); 143 174 double LSTfrMJD(double mjd,double geolng); 175 144 176 void HMSfrHdec(double hd,int *h,int *mn,double *s); 177 inline void HMSfrHdec(double hd,int &h,int &mn,double &s) 178 {HMSfrHdec(hd,&h,&mn,&s);} 179 145 180 double HdecfrHMS(int h,int mn,double s); 146 181 string ToStringHMS(int h,int mn,double s); … … 149 184 // ------------------- Calculs Divers ------------------- 150 185 void Precess(double mjd1,double mjd2,double ra1,double dec1,double *ra2,double *dec2); 186 inline void Precess(double mjd1,double mjd2,double ra1,double dec1,double &ra2,double &dec2) 187 {Precess(mjd1,mjd2,ra1,dec1,&ra2,&dec2);} 188 151 189 inline void PrecessInPlace(double mjd1,double mjd2,double* ra,double* dec) { 152 190 double ra1=*ra, dec1=*dec; 153 191 Precess(mjd1,mjd2,ra1,dec1,ra,dec); 154 192 } 193 inline void PrecessInPlace(double mjd1,double mjd2,double &ra,double &dec) { 194 double ra1=ra, dec1=dec; 195 Precess(mjd1,mjd2,ra1,dec1,ra,dec); 196 } 197 155 198 double AirmassfrAlt(double alt); 156 199 double HelioCorr(double jd,double ra,double dec); … … 177 220 178 221 void EqtoGal(double mjd,double ra,double dec,double *glng,double *glat); 222 inline void EqtoGal(double mjd,double ra,double dec,double &glng,double &glat) 223 {EqtoGal(mjd,ra,dec,&glng,&glat);} 224 225 179 226 void GaltoEq(double mjd,double glng,double glat,double *ra,double *dec); 227 inline void GaltoEq(double mjd,double glng,double glat,double &ra,double &dec) 228 {GaltoEq( mjd, glng, glat, &ra, &dec);} 229 180 230 void EqHtoHor(double geolat,double ha,double dec,double *az,double *alt); 231 inline void EqHtoHor(double geolat,double ha,double dec,double &az,double &alt) 232 {EqHtoHor( geolat, ha, dec, &az, &alt);} 233 181 234 void HortoEqH(double geolat,double az,double alt,double *ha,double *dec); 235 inline void HortoEqH(double geolat,double az,double alt,double &ha,double &dec) 236 {HortoEqH( geolat, az, alt, &ha, &dec);} 237 182 238 void EqtoHor(double geolat,double lst,double ra,double dec,double *az,double *alt); 239 inline void EqtoHor(double geolat,double lst,double ra,double dec,double &az,double &alt) 240 {EqtoHor( geolat, lst, ra, dec, &az, &alt);} 241 183 242 void HortoEq(double geolat,double lst,double az,double alt,double *ra,double *dec); 243 inline void HortoEq(double geolat,double lst,double az,double alt,double &ra,double &dec) 244 {HortoEq( geolat, lst, az, alt, &ra, &dec);} 245 184 246 void EqtoEcl(double mjd,double ra,double dec,double *eclng,double *eclat); 247 inline void EqtoEcl(double mjd,double ra,double dec,double &eclng,double &eclat) 248 {EqtoEcl( mjd, ra, dec, &eclng, &eclat);} 249 185 250 void EcltoEq(double mjd,double eclng,double eclat,double *ra,double *dec); 251 inline void EcltoEq(double mjd,double eclng,double eclat,double &ra,double &dec) 252 {EcltoEq( mjd, eclng, eclat, &ra, &dec);} 186 253 187 254 // ------------------- Positions des astres ------------------- 188 255 void SunPos(double mjd,double *eclsn,double *ecbsn,double *rsn); 256 inline void SunPos(double mjd,double &eclsn,double &ecbsn,double &rsn) 257 {SunPos( mjd, &eclsn, &ecbsn, &rsn);} 258 189 259 void MoonPos(double mjd,double *lmn,double *bmn,double *rho); 260 inline void MoonPos(double mjd,double &lmn,double &bmn,double &rho) 261 {MoonPos( mjd, &lmn, &bmn, &rho);} 262 190 263 void PlanetPos(double mjd,PLCode numplan,double *sunecl,double *sunecb,double *sundist 191 264 ,double *geodist,double *geoecl,double *geoecb 192 265 ,double *diamang,double *mag); 266 inline void PlanetPos(double mjd,PLCode numplan,double &sunecl,double &sunecb,double &sundist 267 ,double &geodist,double &geoecl,double &geoecb 268 ,double &diamang,double &mag) 269 {PlanetPos(mjd,numplan,&sunecl,&sunecb,&sundist,&geodist,&geoecl,&geoecb,&diamang,&mag);} 270 193 271 /*! \ingroup XAstroPack 194 272 \brief Same as PlanetPos above with less arguments … … 200 278 PlanetPos(mjd,numplan,&sunecl,&sunecb,&sundist,geodist,geoecl,geoecb,diamang,&mag); 201 279 } 280 inline void PlanetPos(double mjd,PLCode numplan,double &geoecl,double &geoecb 281 ,double &geodist,double &diamang) 282 { 283 double sunecl,sunecb,sundist,mag; 284 PlanetPos(mjd,numplan,sunecl,sunecb,sundist,geodist,geoecl,geoecb,diamang,mag); 285 } 202 286 203 287 /*! \ingroup XAstroPack … … 208 292 PlanetPos(mjd,JUPITER,ecl,ecb,geodist,diamang); 209 293 } 294 inline void JupiterPos(double mjd,double &ecl,double &ecb,double &geodist,double &diamang) 295 { 296 PlanetPos(mjd,JUPITER,ecl,ecb,geodist,diamang); 297 } 210 298 211 299 /*! \ingroup XAstroPack … … 216 304 PlanetPos(mjd,SATURN,ecl,ecb,geodist,diamang); 217 305 } 306 inline void SaturnPos(double mjd,double &ecl,double &ecb,double &geodist,double &diamang) 307 { 308 PlanetPos(mjd,SATURN,ecl,ecb,geodist,diamang); 309 } 218 310 219 311 #endif
Note:
See TracChangeset
for help on using the changeset viewer.