Skip to content
Snippets Groups Projects
Select Git revision
  • 90df76dfd6248bce3b7e3ebcafacbf944b22b6a6
  • master default protected
  • develop-GA
  • timeFstatmap
  • add-higher-spindown-components
  • develop-DK
  • adds-header-to-grid-search
  • v1.2
  • v1.1.2
  • v1.1.0
  • v1.0.1
11 results

DirectedMC_repeat.sh

Blame
  • Forked from Gregory Ashton / PyFstat
    Source project has a limited visibility.
    boinc_api_fortran.C 3.41 KiB
    // Berkeley Open Infrastructure for Network Computing
    // http://boinc.berkeley.edu
    // Copyright (C) 2005 University of California
    //
    // This is free software; you can redistribute it and/or
    // modify it under the terms of the GNU Lesser General Public
    // License as published by the Free Software Foundation;
    // either version 2.1 of the License, or (at your option) any later version.
    //
    // This software is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    // See the GNU Lesser General Public License for more details.
    //
    // To view the GNU Lesser General Public License visit
    // http://www.gnu.org/copyleft/lesser.html
    // or write to the Free Software Foundation, Inc.,
    // 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
    // This file defines a Fortran wrapper to the BOINC API.
    
    // Define this symbol (here or in Makefile) if you want graphics functions
    //#define GRAPHICS
    
    #include "config.h"
    #include "util.h"
    #include "boinc_api.h"
    #ifdef GRAPHICS
    #include "graphics_api.h"
    #endif
    #include "boinc_zip.h"
    
    // helper class that makes a C-string from a character array and length,
    // automatically deleted on destruction.
    // Fortran strings are passed as character array plus length
    //
    class STRING_FROM_FORTRAN {
        char* p;
    public:
        STRING_FROM_FORTRAN(const char* s, int s_len) {
            p = new char[s_len + 1];
            memcpy(p, s, s_len);
            p[s_len] = 0;
        }
        ~STRING_FROM_FORTRAN() { delete [] p; }
        void strip_whitespace() {
            ::strip_whitespace(p);
        }
        const char* c_str() { return p; }
    };
    
    // remove terminating null and pad with blanks a la FORTRAN
    //
    static void string_to_fortran(char* p, int len) {
        for (int i=strlen(p); i<len; i++) {
            p[i] = ' ';
        }
    }
    
    extern "C" {
    
    void boinc_init_() {
        boinc_init();
    }
    
    void boinc_finish_(int* status) {
        boinc_finish(*status);
    }
    
    #ifdef GRAPHICS