From 36397811c71f6010c98f0e817d458a07e490b235 Mon Sep 17 00:00:00 2001
From: David Hendriks <davidhendriks93@gmail.com>
Date: Fri, 8 Nov 2019 10:35:51 +0000
Subject: [PATCH] updated todo and created some logging functionality

---
 TODO.org                                  |  14 +--
 binaryc_python_utils/logging_functions.py | 112 ----------------------
 2 files changed, 2 insertions(+), 124 deletions(-)

diff --git a/TODO.org b/TODO.org
index 0bb06c8b8..e209dd9a6 100644
--- a/TODO.org
+++ b/TODO.org
@@ -30,7 +30,6 @@ And then to use it via
                  stardata->model.dt);
                        '
     );
-
 **** code to handle that input
 sub binary_c_log_code
 {
@@ -66,11 +65,7 @@ void custom_output_function(SV * x)
 #pragma pop_macro(\"MAX\")
 ";
 }
-
-
-
 Or use it via:
-
 *** auto logging
 We should also try to be able to have the code autogenerate some logging function via the following:
 **** input in perl
@@ -83,7 +78,6 @@ $population->set(    C_auto_logging => {
              'model.dt'
             ]
     });
-
 **** code to handle that input
 Which is handled in perl via (see binary_grid2.pm
 sub autogen_C_logging_code
@@ -121,9 +115,6 @@ sub autogen_C_logging_code
 
     return $code;
 }
-
-
-
 *** DONE Make function in python that puts code into c function
     CLOSED: [2019-10-31 Thu 11:13]
 *** DONE Make function in python that generates c-function from a list of arguments
@@ -138,9 +129,8 @@ ImportError: /home/david/projects/binary_c_root/binary_c-python/libbinary_c_api.
 I get this error when I am using the master version of binary_c with either branches of the python wrapper
 
 *** TODO Make sure this works with the last major release of binaryc
-
-*** TODO Finish testing a simpler case (see other repo)
-
+*** DONE Finish testing a simpler case (see other repo)
+    CLOSED: [2019-11-08 Fri 09:37]
 
 ** General:
 *** DONE Get a more reliable way of loading the default values (running a ./tbse echo or something?)
diff --git a/binaryc_python_utils/logging_functions.py b/binaryc_python_utils/logging_functions.py
index 5e5353e29..e69de29bb 100644
--- a/binaryc_python_utils/logging_functions.py
+++ b/binaryc_python_utils/logging_functions.py
@@ -1,112 +0,0 @@
-import textwrap
-# Functions for the automatic logging of stuff
-
-# See example_perl.pm autologging
-def autogen_C_logging_code(logging_dict):
-    """
-    Function that autogenerates PRINTF statements for binaryc
-
-    Input:
-        dictionary where the key is the header of that logging line and items which are lists of parameters that will be put in that logging line
-
-        example: {'MY_STELLAR_DATA': 
-        [
-            'model.time',
-            'star[0].mass',
-            'model.probability',
-            'model.dt'
-        ']}
-    """
-
-    # Check if the input is of the correct form 
-    if not type(logging_dict)==dict:
-        print("Error: please use a dictionary as input")
-        return None
-
-    code = ''
-    # Loop over dict keys
-    for key in logging_dict:
-        logging_dict_entry = logging_dict[key]
-
-        # Check if item is of correct type:
-        if type(logging_dict_entry)==list:
-
-            # Construct print statement
-            code += 'PRINTF("{}'.format(key)
-            code += ' {}'.format('%g '*len(logging_dict_entry))
-            code = code.strip()
-            code += '\n"'
-
-            # Add format keys
-            for param in logging_dict_entry:
-                code += ',((double)stardata->{})'.format(param)
-            code += ');\n'
-
-        else:
-            print('Error: please use a list for the list of parameters that you want to have logged')
-    code = code.strip()
-    # print("MADE AUTO CODE\n\n{}\n\n{}\n\n{}\n".format('*'*60, repr(code), '*'*60))
-
-    return code
-
-
-autogen_C_logging_code(
-    {
-        'MY_STELLAR_DATA': ['model.time', 'star[0].mass'], 
-        'my_sss2': ['model.time', 'star[1].mass']
-    }
-)
-
-####################################################################################
-
-# see example_perl.pm binary_c_log_code
-
-def binary_c_log_code(code):
-    """
-    Function to construct the code to construct the custom logging function
-    """
-    custom_logging_function_string = """
-        #pragma push_macro(\"MAX\")
-        #pragma push_macro(\"MIN\")
-        #undef MAX
-        #undef MIN
-        #include \"binary_c.h\"
-
-        void custom_output_function(SV * x);
-        SV * custom_output_function_pointer(void);
-
-        SV * custom_output_function_pointer()
-        {{
-            /*
-             * use PTR2UV to convert the function pointer 
-             * &custom_output_function to an unsigned int,
-             * which is then converted to a Perl SV
-             */
-            return (SV*)newSVuv(PTR2UV(custom_output_function));
-        }}
-
-        void custom_output_function(SV * x)
-        {{
-            struct stardata_t * stardata = (struct stardata_t *)x;
-            {code};
-        }}
-
-        #undef MAX 
-        #undef MIN
-        #pragma pop_macro(\"MIN\")
-        #pragma pop_macro(\"MAX\")
-    """.format(code=code)
-
-    print(textwrap.dedent(custom_logging_function_string))
-    # return custom_logging_function_string
-
-
-code = autogen_C_logging_code(
-    {
-        'MY_STELLAR_DATA': ['model.time', 'star[0].mass'], 
-        'my_sss2': ['model.time', 'star[1].mass']
-    }
-)
-
-binary_c_log_code(code)
-
-- 
GitLab