iup-stack/iup/srcmglplot/mgl2/addon.h

64 lines
3.4 KiB
C
Raw Permalink Normal View History

2023-02-20 16:44:45 +00:00
/***************************************************************************
* addon.h is part of Math Graphic Library
* Copyright (C) 2007-2016 Alexey Balakin <mathgl.abalakin@gmail.ru> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Library General Public License as *
* published by the Free Software Foundation; either version 3 of the *
* License, or (at your option) any later version. *
* *
* This program 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 General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef _MGL_ADDON_H_
#define _MGL_ADDON_H_
//-----------------------------------------------------------------------------
#include "mgl2/define.h"
#ifdef __cplusplus
//-----------------------------------------------------------------------------
/// Explicit scheme for 1 step of axial diffraction
void MGL_EXPORT mgl_difr_axial(dual *a,int n,int step,dual q,int Border,dual *tmp,int kk, double di);
void MGL_EXPORT mgl_difr_axial_old(dual *a,int n,int step,dual q,int Border,dual *tmp1,dual *tmp2,int kk, double di); // restore for backward compatibility
/// Explicit scheme for 1 step of plane diffraction
void MGL_EXPORT mgl_difr_grid(dual *a,int n,int step,dual q,int Border,dual *tmp,int kk);
void MGL_EXPORT mgl_difr_grid_old(dual *a,int n,int step,dual q,int Border,dual *tmp1,dual *tmp2,int kk); // restore for backward compatibility
//-----------------------------------------------------------------------------
extern "C" {
#endif
/// Get random number with Gaussian distribution
double MGL_EXPORT mgl_gauss_rnd();
/// Fill frequencies for FFT
void MGL_EXPORT mgl_fft_freq(double *freq,long nn);
/// Remove double spaces from the string
void MGL_EXPORT mgl_strcls(char *str);
/// Get position of substring or return -1 if not found
long MGL_EXPORT mgl_strpos(const char *str,char *fnd);
/// Get position of symbol or return -1 if not found
long MGL_EXPORT mgl_chrpos(const char *str,char fnd);
/// Get uncommented string from file (NOTE: it is not thread safe!!!)
MGL_EXPORT char *mgl_fgetstr(FILE *fp);
/// Get parameters from uncommented strings of file (NOTE: it is not thread safe!!!)
void MGL_EXPORT mgl_fgetpar(FILE *fp, const char *str, ...);
/// Check if symbol denote true
int MGL_EXPORT_CONST mgl_istrue(char ch);
/// Print test message
void MGL_EXPORT mgl_test(const char *str, ...);
/// Print info message
void MGL_EXPORT mgl_info(const char *str, ...);
/// Locate next data block (block started by -----)
MGL_EXPORT FILE *mgl_next_data(const char *fname,int p);
#ifdef __cplusplus
}
#endif
#endif