Skip to content
Snippets Groups Projects
Select Git revision
  • cf0fee06ee002cc09499a0267ce412833fedd7cb
  • master default protected
  • 72-improve-docs-for_optimal_setup
  • os-path-join
  • develop-GA
  • add-higher-spindown-components
  • v1.3
  • v1.2
  • v1.1.2
  • v1.1.0
  • v1.0.1
11 results

pyfstat.py

Blame
  • gregory.ashton's avatar
    Gregory Ashton authored
    1) Adds option to force the use of cached data
    2) Orders the output .par files
    3) Adds maxtwoF to output par files
    cf0fee06
    History
    boinc_api_fortran.cpp 3.32 KiB
    // This file is part of BOINC.
    // http://boinc.berkeley.edu
    // Copyright (C) 2008 University of California
    //
    // BOINC 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 3 of the License, or (at your option) any later version.
    //
    // BOINC 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.
    //
    // You should have received a copy of the GNU Lesser General Public License
    // along with BOINC.  If not, see <http://www.gnu.org/licenses/>.
    
    // 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
    void boinc_init_graphics_(){
        boinc_init_graphics();