Ian Jauslin
summaryrefslogtreecommitdiff
blob: 0430763094e67d1a5d5f2e68f4901c7c67336427 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
Copyright 2015 Ian Jauslin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

/*
Parse the input file
*/

#ifndef PARSE_FILE_H
#define PARSE_FILE_H

#include "types.h"

// parse fields list
int parse_input_fields(Char_Array str_fields, Fields_Table* fields);

// parse symbols list
int parse_input_symbols(Char_Array str_symbols, Fields_Table* fields);

// parse groups of independent fields
int parse_input_groups(Char_Array str_groups, Groups* groups);

// parse identities between fields
int parse_input_identities(Char_Array str_identities, Fields_Table* fields);

// parse propagator
int parse_input_propagator(Char_Array str_propagator, Polynomial_Matrix* propagator, Fields_Table fields);

// parse input polynomial
int parse_input_polynomial(Char_Array str_polynomial, Polynomial* output, Fields_Table fields);

// parse id table
int parse_input_id_table(Char_Array str_idtable, Id_Table* idtable, Fields_Table fields);

// parse a list of labels
int parse_labels(Char_Array str_labels, Labels* labels);

// read initial condition for numerical computation (using either RCC or RCC_mpfr, as specified by mpfr_flag)
int parse_init_cd(Char_Array init_cd, RCC* init, RCC_mpfr* init_mpfr, int mpfr_flag);

// set indices and length of init
int prepare_init(int* indices, int length, RCC* init);
// set indices and length of init for RCC_mpfr
int prepare_init_mpfr(int* indices, int length, RCC_mpfr* init);

#endif