Navigation

Operators and Keywords

Function List:

C++ API

f77-fcn.h File Reference

#include "quit.h"
Include dependency graph for f77-fcn.h:

Go to the source code of this file.

Defines

#define xSTRINGIZE(x)   #x
#define STRINGIZE(x)   xSTRINGIZE(x)
#define F77_XFCN_ERROR(f, F)
#define F77_XFCN(f, F, args)
#define F77_FCN(f, F)   F77_FUNC (f, F)
#define F77_CHAR_ARG(x)   x
#define F77_CONST_CHAR_ARG(x)   F77_CHAR_ARG (x)
#define F77_CHAR_ARG2(x, l)   x
#define F77_CONST_CHAR_ARG2(x, l)   F77_CHAR_ARG2 (x, l)
#define F77_CXX_STRING_ARG(x)   F77_CONST_CHAR_ARG2 (x.c_str (), x.length ())
#define F77_CHAR_ARG_LEN(l)   , l
#define F77_CHAR_ARG_DECL   char *
#define F77_CONST_CHAR_ARG_DECL   const char *
#define F77_CHAR_ARG_LEN_DECL   , long
#define F77_CHAR_ARG_DEF(s, len)   char *s
#define F77_CONST_CHAR_ARG_DEF(s, len)   const char *s
#define F77_CHAR_ARG_LEN_DEF(len)   , long len
#define F77_CHAR_ARG_USE(s)   s
#define F77_CHAR_ARG_LEN_USE(s, len)   len
#define F77_RET_T   int
#define F77_RETURN(retval)   return retval;
#define F77_CSTRING(s, len, cs)

Functions

CRUFT_API F77_RET_T F77_FUNC (xstopx, XSTOPX)(F77_CONST_CHAR_ARG_DECL F77_CHAR_ARG_LEN_DECL) GCC_ATTR_NORETURN

Variables

CRUFT_API int f77_exception_encountered

Define Documentation

#define F77_CHAR_ARG (   x  )     x
#define F77_CHAR_ARG2 (   x,
  l 
)    x
#define F77_CHAR_ARG_DECL   char *
#define F77_CHAR_ARG_DEF (   s,
  len 
)    char *s
#define F77_CHAR_ARG_LEN (   l  )     , l
F77_RET_T const octave_idx_type const octave_idx_type const double const octave_idx_type double double & F77_CHAR_ARG_LEN_DECL   , long
#define F77_CHAR_ARG_LEN_DEF (   len  )     , long len
#define F77_CHAR_ARG_LEN_USE (   s,
  len 
)    len
#define F77_CHAR_ARG_USE (   s  )     s
#define F77_CONST_CHAR_ARG (   x  )     F77_CHAR_ARG (x)
#define F77_CONST_CHAR_ARG2 (   x,
  l 
)    F77_CHAR_ARG2 (x, l)
F77_RET_T F77_CONST_CHAR_ARG_DECL   const char *
#define F77_CONST_CHAR_ARG_DEF (   s,
  len 
)    const char *s
#define F77_CSTRING (   s,
  len,
  cs 
)
Value:
OCTAVE_LOCAL_BUFFER (char, cs, F77_CHAR_ARG_LEN_USE (s, len) + 1); \
 memcpy (cs, F77_CHAR_ARG_USE (s), F77_CHAR_ARG_LEN_USE (s, len)); \
 cs[F77_CHAR_ARG_LEN_USE(s, len)] = '\0'
#define F77_CXX_STRING_ARG (   x  )     F77_CONST_CHAR_ARG2 (x.c_str (), x.length ())
#define F77_FCN (   f,
  F 
)    F77_FUNC (f, F)
#define F77_RET_T   int
#define F77_RETURN (   retval  )     return retval;
#define F77_XFCN (   f,
  F,
  args 
)
Value:
do \
    { \
      octave_jmp_buf saved_context; \
      sig_atomic_t saved_octave_interrupt_immediately = octave_interrupt_immediately; \
      f77_exception_encountered = 0; \
      octave_save_current_context (saved_context); \
      if (octave_set_current_context) \
        { \
          octave_interrupt_immediately = saved_octave_interrupt_immediately; \
          octave_restore_current_context (saved_context); \
          if (f77_exception_encountered) \
            F77_XFCN_ERROR (f, F); \
          else \
            octave_rethrow_exception (); \
        } \
      else \
        { \
          octave_interrupt_immediately++; \
          F77_FUNC (f, F) args; \
          octave_interrupt_immediately--; \
          octave_restore_current_context (saved_context); \
        } \
    } \
  while (0)
#define F77_XFCN_ERROR (   f,
  F 
)
Value:
(*current_liboctave_error_handler) \
    ("exception encountered in Fortran subroutine %s", \
     STRINGIZE (F77_FUNC (f, F)))
#define STRINGIZE (   x  )     xSTRINGIZE(x)
#define xSTRINGIZE (   x  )     #x

Function Documentation

CRUFT_API F77_RET_T F77_FUNC ( xstopx  ,
XSTOPX   
)

Variable Documentation

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines