Nstrophy/src/io.h

39 lines
1.5 KiB
C

/*
Copyright 2017-2023 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.
*/
#ifndef IO_H
#define IO_H
#include <stdio.h>
// write complex vector indexed by k1,k2 to file
int write_vec(_Complex double* u, int K1, int K2, FILE* file);
int write_vec_bin(_Complex double* u, int K1, int K2, FILE* file);
// read complex vector indexed by k1,k2 from file
int read_vec(_Complex double* u, int K1, int K2, FILE* file);
int read_vec_bin(_Complex double* u, int K1, int K2, FILE* file);
// remove an entry from params string (inplace)
int remove_entry(char* param_str, char* entry);
// save state to savefile
int save_state(_Complex double* u, FILE* savefile, int K1, int K2, const char* cmd_string, const char* params_string, const char* savefile_string, const char* utfile_string, FILE* utfile, unsigned int command, unsigned int algorithm, double step, double time, unsigned int nthreads);
// write u to utfile in plain text
int write_utfile(_Complex double* u, FILE* utfile, int K1, int K2);
#endif