General Purpose Geodetic Library
vgosDbCalc.h
Go to the documentation of this file.
1 /*
2  * This file is a part of vgosDbCalc. vgosDbCalc is a part of CALC/SOLVE
3  * system and is designed to calculate theoretical values and store them
4  * in the vgosDb format.
5  * Copyright (C) 2016-2020 Sergei Bolotin.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef VGOS_DB_CALC_H
23 #define VGOS_DB_CALC_H
24 
25 #include <stddef.h>
26 
27 
28 #ifdef HAVE_CONFIG_H
29 # include <config.h>
30 #endif
31 
32 
33 #include <SgVersion.h>
34 
35 
36 
37 #include "VcSetup.h"
38 
39 
40 #define UNUSED __attribute__((__unused__))
41 #define f_true (1)
42 #define f_false (0)
43 
44 
45 
46 
47 /*=====================================================================================================*/
48 //
49 //
50 extern "C"
51 {
52 /*
53 ! cuser11.i - Calc user type
54 */
55  extern struct
56  {
57  char c_mode[6];
58  } mode_;
59 
60 /*
61 ! Inputs.i
62 */
63  extern struct
64  {
65  char External_inputs[80], Ex_sites[80], Ex_stars[80], Ex_ocean[80],
66  Ex_EOP[80], Ex_tilts[80], Ex_OPTL[80];
70 
71 
72  //
73  // replacements:
74  //
75  //
76  void kai_ (short &kruc, short &in, short &iout, short &istp, char *lkynm_chr,
77  short &iveri, char *lkout_chr, char *lfto_chr, short &ivero,
78  char *lfio_chr, short &kerr,
79  size_t len1, size_t len2, size_t len3, size_t len4);
80  void wridr_();
81 // void ask_ (char (&lcode)[14], short *ntoc, short &dim1, short &dim2, short &dim3,
82  //short &nver, char (&ltext_chr)[160], short &ktype, short &kerr,
83  //size_t len1, size_t len2);
84 
85  void ask_ (const char *lcode, const short &ntoc, const short &dim1, const short &dim2,
86  const short &dim3, const short &nver, const char* ltext_chr, const short &ktype,
87  short &kerr, size_t len1, size_t len2);
88 
89 
90  void mvrec_(short &ntoc, short &kmode, short &knum, short &kerr);
91  void phist_(short &nhist, const char *lhist_chr, size_t len);
92  void finis_(short par);
93  void datsv_();
94 
95  // adds:
96  void adda_ (const short& ntoc, const char *lcode, const char *descrText,
97  const short& dim1, const short& dim2, const short& dim3, size_t len1, size_t len2);
98  void addi_ (const short& ntoc, const char *lcode, const char *descrText,
99  const short& dim1, const short& dim2, const short& dim3, size_t len1, size_t len2);
100  void addj_ (const short& ntoc, const char *lcode, const char *descrText,
101  const short& dim1, const short& dim2, const short& dim3, size_t len1, size_t len2);
102  void add4_ (const short& ntoc, const char *lcode, const char *descrText,
103  const short& dim1, const short& dim2, const short& dim3, size_t len1, size_t len2);
104  void addr_ (const short& ntoc, const char *lcode, const char *descrText,
105  const short& dim1, const short& dim2, const short& dim3, size_t len1, size_t len2);
106 
107  // dels:
108  void dela_(const short& ntoc, const char *lcode, size_t len);
109  void deli_(const short& ntoc, const char *lcode, size_t len);
110  void delj_(const short& ntoc, const char *lcode, size_t len);
111  void del4_(const short& ntoc, const char *lcode, size_t len);
112  void delr_(const short& ntoc, const char *lcode, size_t len);
113 
114  // gets:
115  void getr_( char (&lcode)[14], double values[], short *dim1, short *dim2, short *dim3, short numDims[],
116  short &kerr, size_t len);
117  void get4_( const char *lcode, double values[],
118  const short &dim1, const short &dim2, const short &dim3, short numDims[],
119  short &kerr, size_t len);
120  void geti_( const char *lcode, short values[],
121  const short &dim1, const short &dim2, const short &dim3, short numDims[],
122  short &kerr, size_t len);
123  void getj_( char (&lcode)[14], int values[],
124  short *dim1, short *dim2, short *dim3, short numDims[], short &kerr, size_t len);
125  void geta_( const char *lcode, char values[],
126  const short &dim1, const short &dim2, const short &dim3, short numDims[],
127  short &kerr, size_t len);
128 
129  // puts:
130  void puta_( const char *lcode, const char vals[],
131  const short &dim1, const short &dim2, const short &dim3,
132  size_t len);
133  void puti_( const char *lcode, const short vals[],
134  const short &dim1, const short &dim2, const short &dim3,
135  size_t len);
136  void putr_( const char *lcode, const double vals[],
137  const short &dim1, const short &dim2, const short &dim3,
138  size_t len);
139  void put4_( const char *lcode, const double vals[],
140  const short &dim1, const short &dim2, const short &dim3,
141  size_t len);
142  void putj_(char (&lcode)[14], int vals[], short *dim1, short *dim2, short *dim3, size_t len);
143 
144 // Aux:
145  void setmodeflag_(short *modeflag);
146  short getunit_();
147  short gethostname_(char *hostName, size_t len);
148  short trimlen_(char *chrs, size_t len);
149 
150  void quit_calc_(short iPar[]);
151 };
152 
153 
154 
155 extern "C"
156 {
157 // CALC's functions:
158 //
159 // SUBROUTINE START (ILU, CALCON_NAME, Iout)
160 // Integer*2 ILU, iout
161 // Character*128 CALCON_NAME
162  void start_(short& iLu, const char* calcOnName, short& iOut, size_t len);
163 
164 // SUBROUTINE TOCUP()
165  void tocup_();
166 
167 // SUBROUTINE INITL ( KOUNT )
168 // Integer*4 KOUNT
169  void initl_(int& kount);
170 
171 // SUBROUTINE OBSNT ( KOUNT, KEND)
172 // Integer*4 KOUNT, KEND
173  void obsnt_(int& kount, int& kend);
174 
175 // SUBROUTINE DRIVR()
176  void drivr_();
177 
178 
179 
180 };
181 /*=====================================================================================================*/
182 
183 
184 
185 
186 /***===================================================================================================*/
193 extern VcSetup setup;
194 
196 
197 class VcCalc2SessionIfc;
198 extern VcCalc2SessionIfc c2s;
199 extern QString histIntroRec;
200 
201 
202 // helpers:
203 QString fortArray2QString(const char *chrs, size_t len);
204 
205 void qString2fortArray(const QString& str, char *chrs, size_t len);
206 
207 void mimicCalcMain(int arg1, int arg2, const char* arg3, const char* arg4);
208 void mimicCalcMain2(int arg1, int arg2, const char* arg3, const char* arg4, const QList<QString>& bands);
209 
210 
211 /*=====================================================================================================*/
212 #endif // VGOS_DB_CALC_H
void obsnt_(int &kount, int &kend)
void adda_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
void delj_(const short &ntoc, const char *lcode, size_t len)
void datsv_()
int le4
Definition: vgosDbCalc.h:68
void initl_(int &kount)
QString histIntroRec
void get4_(const char *lcode, double values[], const short &dim1, const short &dim2, const short &dim3, short numDims[], short &kerr, size_t len)
void puta_(const char *lcode, const char vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
void qString2fortArray(const QString &str, char *chrs, size_t len)
char c_mode[6]
Definition: vgosDbCalc.h:57
void put4_(const char *lcode, const double vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
void start_(short &iLu, const char *calcOnName, short &iOut, size_t len)
int Input_EOP
Definition: vgosDbCalc.h:67
void dela_(const short &ntoc, const char *lcode, size_t len)
char External_inputs[80]
Definition: vgosDbCalc.h:65
void putj_(char(&lcode)[14], int vals[], short *dim1, short *dim2, short *dim3, size_t len)
void mvrec_(short &ntoc, short &kmode, short &knum, short &kerr)
void kai_(short &kruc, short &in, short &iout, short &istp, char *lkynm_chr, short &iveri, char *lkout_chr, char *lfto_chr, short &ivero, char *lfio_chr, short &kerr, size_t len1, size_t len2, size_t len3, size_t len4)
char Ex_ocean[80]
Definition: vgosDbCalc.h:65
int Input_OPTL
Definition: vgosDbCalc.h:68
void setmodeflag_(short *modeflag)
void addr_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
int Input_tilts
Definition: vgosDbCalc.h:68
void tocup_()
char Ex_sites[80]
Definition: vgosDbCalc.h:65
char Ex_stars[80]
Definition: vgosDbCalc.h:65
void mimicCalcMain(int arg1, int arg2, const char *arg3, const char *arg4)
void geti_(const char *lcode, short values[], const short &dim1, const short &dim2, const short &dim3, short numDims[], short &kerr, size_t len)
void deli_(const short &ntoc, const char *lcode, size_t len)
void phist_(short &nhist, const char *lhist_chr, size_t len)
void geta_(const char *lcode, char values[], const short &dim1, const short &dim2, const short &dim3, short numDims[], short &kerr, size_t len)
void wridr_()
void add4_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
void delr_(const short &ntoc, const char *lcode, size_t len)
void addj_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
SgVersion vgosDbCalcVersion
void putr_(const char *lcode, const double vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
void mimicCalcMain2(int arg1, int arg2, const char *arg3, const char *arg4, const QList< QString > &bands)
void puti_(const char *lcode, const short vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
char Ex_OPTL[80]
Definition: vgosDbCalc.h:66
short gethostname_(char *hostName, size_t len)
struct @0 mode_
void ask_(const char *lcode, const short &ntoc, const short &dim1, const short &dim2, const short &dim3, const short &nver, const char *ltext_chr, const short &ktype, short &kerr, size_t len1, size_t len2)
int External_aprioris
Definition: vgosDbCalc.h:67
int Input_stars
Definition: vgosDbCalc.h:67
void getr_(char(&lcode)[14], double values[], short *dim1, short *dim2, short *dim3, short numDims[], short &kerr, size_t len)
char Ex_EOP[80]
Definition: vgosDbCalc.h:66
int Input_ocean
Definition: vgosDbCalc.h:67
VcCalc2SessionIfc c2s
void del4_(const short &ntoc, const char *lcode, size_t len)
void addi_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
int Input_sites
Definition: vgosDbCalc.h:67
struct @1 extrnl_
short trimlen_(char *chrs, size_t len)
char Ex_tilts[80]
Definition: vgosDbCalc.h:66
QString fortArray2QString(const char *chrs, size_t len)
void getj_(char(&lcode)[14], int values[], short *dim1, short *dim2, short *dim3, short numDims[], short &kerr, size_t len)
void drivr_()
short getunit_()
void finis_(short par)
void quit_calc_(short iPar[])
VcSetup setup
Definition: nuSolve.cpp:61