Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/fields.h')
-rw-r--r--src/fields.h58
1 files changed, 47 insertions, 11 deletions
diff --git a/src/fields.h b/src/fields.h
index b6f05c2..7b7a07a 100644
--- a/src/fields.h
+++ b/src/fields.h
@@ -1,5 +1,5 @@
/*
-Copyright 2015 Ian Jauslin
+Copyright 2015-2022 Ian Jauslin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -21,6 +21,9 @@ limitations under the License.
#include "types.h"
+
+// Fields_Table
+
// init
int init_Fields_Table(Fields_Table* fields);
int free_Fields_Table(Fields_Table fields);
@@ -33,6 +36,8 @@ int is_fermion(int index, Fields_Table fields);
int is_noncommuting(int index, Fields_Table fields);
+// Identities
+
// init
int init_Identities(Identities* identities,int size);
int free_Identities(Identities identities);
@@ -57,25 +62,29 @@ int resolve_ids(Polynomial* polynomial, Fields_Table fields);
int int_array_is_subarray_noncommuting(Int_Array input, Int_Array test_array, Fields_Table fields);
+// Virtual_fields
+
// init
-int init_Symbols(Symbols* symbols,int size);
-int free_Symbols(Symbols symbols);
+int init_Virtual_fields(Virtual_fields* virtual_fields,int size);
+int free_Virtual_fields(Virtual_fields virtual_fields);
// resize
-int resize_symbols(Symbols* symbols,int new_size);
+int resize_virtual_fields(Virtual_fields* virtual_fields,int new_size);
// copy
-int symbols_cpy(Symbols input, Symbols* output);
-int symbols_cpy_noinit(Symbols input, Symbols* output);
+int virtual_fields_cpy(Virtual_fields input, Virtual_fields* output);
+int virtual_fields_cpy_noinit(Virtual_fields input, Virtual_fields* output);
-// append an element to a symbols
-int symbols_append(int index, Polynomial expr, Symbols* output);
-int symbols_append_noinit(int index, Polynomial expr, Symbols* output);
+// append an element to a virtual_fields
+int virtual_fields_append(int index, Polynomial expr, Virtual_fields* output);
+int virtual_fields_append_noinit(int index, Polynomial expr, Virtual_fields* output);
-// concatenate two symbolss
-int symbols_concat(Symbols input, Symbols* output);
+// concatenate two virtual_fields
+int virtual_fields_concat(Virtual_fields input, Virtual_fields* output);
+// Groups
+
// init
int init_Groups(Groups* groups,int size);
int free_Groups(Groups groups);
@@ -98,5 +107,32 @@ int groups_concat(Groups input, Groups* output);
int find_group(int index, Groups groups);
+// Variables
+
+// allocate memory
+int init_Variables(Variables* variables,int size);
+// free memory
+int free_Variables(Variables variables);
+
+// resize
+int resize_variables(Variables* variables,int new_size);
+
+// copy
+int variables_cpy(Variables input, Variables* output);
+int variables_cpy_noinit(Variables input, Variables* output);
+
+// append an element to a variables collection
+int variables_append(Char_Array var_name, Tree symbol_tree, Variables* output);
+int variables_append_noinit(Char_Array var_name, Tree symbol_tree, Variables* output);
+
+// concatenate two variables collections
+int variables_concat(Variables input, Variables* output);
+
+// find a variable matching a var_name
+int variables_find_var(Char_Array name, Variables variables, Tree* output);
+
+// add a polynomials as a new named variable
+int add_polynomial_to_variables(char* name, Polynomial polynomial, Variables* variables);
+
#define FIELDS_H_DONE
#endif