OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/gnu-src/gcc-4.5.1/gcc/fortran
    from Rev 285 to Rev 378
    Reverse comparison

Rev 285 → Rev 378

/intrinsic.c
112,6 → 112,8
sym->attr.flavor = FL_PROCEDURE;
sym->attr.proc = PROC_INTRINSIC;
 
gfc_commit_symbol (sym);
 
return sym;
}
 
/symbol.c
3795,6 → 3795,9
formal_arg = gfc_get_formal_arglist ();
/* Add arg to list of formal args (the CPTR arg). */
add_formal_arg (head, tail, formal_arg, param_sym);
 
/* Validate changes. */
gfc_commit_symbol (param_sym);
}
 
 
3840,6 → 3843,9
formal_arg = gfc_get_formal_arglist ();
/* Add arg to list of formal args. */
add_formal_arg (head, tail, formal_arg, param_sym);
 
/* Validate changes. */
gfc_commit_symbol (param_sym);
}
 
 
3911,6 → 3917,9
formal_arg = gfc_get_formal_arglist ();
/* Add arg to list of formal args. */
add_formal_arg (head, tail, formal_arg, param_sym);
 
/* Validate changes. */
gfc_commit_symbol (param_sym);
}
 
 
3973,6 → 3982,9
 
/* Add arg to list of formal args. */
add_formal_arg (&head, &tail, formal_arg, formal_arg->sym);
 
/* Validate changes. */
gfc_commit_symbol (formal_arg->sym);
}
 
/* Add the interface to the symbol. */
4030,6 → 4042,9
 
/* Add arg to list of formal args. */
add_formal_arg (&head, &tail, formal_arg, formal_arg->sym);
 
/* Validate changes. */
gfc_commit_symbol (formal_arg->sym);
}
 
/* Add the interface to the symbol. */
4083,6 → 4098,9
 
/* Add arg to list of formal args. */
add_formal_arg (&head, &tail, formal_arg, formal_arg->sym);
 
/* Validate changes. */
gfc_commit_symbol (formal_arg->sym);
}
 
/* Add the interface to the symbol. */
4465,6 → 4483,7
default:
gcc_unreachable ();
}
gfc_commit_symbol (tmp_sym);
}
 
 
4837,10 → 4856,12
c->ts.u.derived = vtype;
c->initializer->expr_type = EXPR_NULL;
}
gfc_commit_symbol (vtype);
}
vtab->ts.u.derived = vtype;
 
vtab->value = gfc_default_initializer (&vtab->ts);
gfc_commit_symbol (vtab);
}
}
 
/gfortran.texi
2639,9 → 2639,6
User-specified alignment rules for structures.
 
@item
Flag to generate @code{Makefile} info.
 
@item
Automatically extend single precision constants to double.
 
@item
/cpp.c
35,6 → 35,7
#include "../../libcpp/internal.h"
#include "cpp.h"
#include "incpath.h"
#include "mkdeps.h"
 
#ifndef TARGET_OS_CPP_BUILTINS
# define TARGET_OS_CPP_BUILTINS()
84,6 → 85,12
int no_predefined; /* -undef */
int standard_include_paths; /* -nostdinc */
int verbose; /* -v */
int deps; /* -M */
int deps_skip_system; /* -MM */
const char *deps_filename; /* -M[M]D */
const char *deps_filename_user; /* -MF <arg> */
int deps_missing_are_generated; /* -MG */
int deps_phony; /* -MP */
 
const char *multilib; /* -imultilib <dir> */
const char *prefix; /* -iprefix <dir> */
270,6 → 277,26
return gfc_cpp_option.preprocess_only;
}
 
bool
gfc_cpp_makedep (void)
{
return gfc_cpp_option.deps;
}
 
void
gfc_cpp_add_dep (const char *name, bool system)
{
if (!gfc_cpp_option.deps_skip_system || !system)
deps_add_dep (cpp_get_deps (cpp_in), name);
}
 
void
gfc_cpp_add_target (const char *name)
{
deps_add_target (cpp_get_deps (cpp_in), name, 0);
}
 
 
const char *
gfc_cpp_temporary_file (void)
{
299,6 → 326,12
gfc_cpp_option.no_predefined = 0;
gfc_cpp_option.standard_include_paths = 1;
gfc_cpp_option.verbose = 0;
gfc_cpp_option.deps = 0;
gfc_cpp_option.deps_skip_system = 0;
gfc_cpp_option.deps_phony = 0;
gfc_cpp_option.deps_missing_are_generated = 0;
gfc_cpp_option.deps_filename = NULL;
gfc_cpp_option.deps_filename_user = NULL;
 
gfc_cpp_option.multilib = NULL;
gfc_cpp_option.prefix = NULL;
414,6 → 447,43
gfc_cpp_option.print_include_names = 1;
break;
 
case OPT_MM:
gfc_cpp_option.deps_skip_system = 1;
/* fall through */
 
case OPT_M:
gfc_cpp_option.deps = 1;
break;
 
case OPT_MMD:
gfc_cpp_option.deps_skip_system = 1;
/* fall through */
 
case OPT_MD:
gfc_cpp_option.deps = 1;
gfc_cpp_option.deps_filename = arg;
break;
 
case OPT_MF:
/* If specified multiple times, last one wins. */
gfc_cpp_option.deps_filename_user = arg;
break;
 
case OPT_MG:
gfc_cpp_option.deps_missing_are_generated = 1;
break;
 
case OPT_MP:
gfc_cpp_option.deps_phony = 1;
break;
 
case OPT_MQ:
case OPT_MT:
gfc_cpp_option.deferred_opt[gfc_cpp_option.deferred_opt_count].code = code;
gfc_cpp_option.deferred_opt[gfc_cpp_option.deferred_opt_count].arg = arg;
gfc_cpp_option.deferred_opt_count++;
break;
 
case OPT_P:
gfc_cpp_option.no_line_commands = 1;
break;
430,16 → 500,17
an error. */
if (!gfc_cpp_enabled ()
&& (gfc_cpp_preprocess_only ()
|| !gfc_cpp_option.discard_comments
|| !gfc_cpp_option.discard_comments_in_macro_exp
|| gfc_cpp_option.print_include_names
|| gfc_cpp_option.no_line_commands
|| gfc_cpp_option.dump_macros
|| gfc_cpp_option.dump_includes))
|| gfc_cpp_makedep ()
|| !gfc_cpp_option.discard_comments
|| !gfc_cpp_option.discard_comments_in_macro_exp
|| gfc_cpp_option.print_include_names
|| gfc_cpp_option.no_line_commands
|| gfc_cpp_option.dump_macros
|| gfc_cpp_option.dump_includes))
gfc_fatal_error("To enable preprocessing, use -cpp");
 
cpp_in = cpp_create_reader (CLK_GNUC89, NULL, line_table);
if (!gfc_cpp_enabled())
if (!gfc_cpp_enabled ())
return;
 
gcc_assert (cpp_in);
462,6 → 533,17
cpp_option->print_include_names = gfc_cpp_option.print_include_names;
cpp_option->preprocessed = gfc_option.flag_preprocessed;
 
if (gfc_cpp_makedep ())
{
cpp_option->deps.style = DEPS_USER;
cpp_option->deps.phony_targets = gfc_cpp_option.deps_phony;
cpp_option->deps.missing_files = gfc_cpp_option.deps_missing_are_generated;
 
/* -MF <arg> overrides -M[M]D. */
if (gfc_cpp_option.deps_filename_user)
gfc_cpp_option.deps_filename = gfc_cpp_option.deps_filename_user;
}
 
if (gfc_cpp_option.working_directory == -1)
gfc_cpp_option.working_directory = (debug_info_level != DINFO_LEVEL_NONE);
 
571,6 → 653,9
else
cpp_assert (cpp_in, opt->arg);
}
else if (opt->code == OPT_MT || opt->code == OPT_MQ)
deps_add_target (cpp_get_deps (cpp_in),
opt->arg, opt->code == OPT_MQ);
}
 
if (gfc_cpp_option.working_directory
614,14 → 699,27
if (!gfc_cpp_enabled ())
return;
 
/* TODO: if dependency tracking was enabled, call
cpp_finish() here to write dependencies.
gcc_assert (cpp_in);
 
Use cpp_get_deps() to access the current source's
dependencies during parsing. Add dependencies using
the mkdeps-interface (defined in libcpp). */
if (gfc_cpp_makedep ())
{
if (gfc_cpp_option.deps_filename)
{
FILE *f = fopen (gfc_cpp_option.deps_filename, "w");
if (f)
{
cpp_finish (cpp_in, f);
fclose (f);
}
else
gfc_fatal_error ("opening output file %s: %s",
gfc_cpp_option.deps_filename,
xstrerror (errno));
}
else
cpp_finish (cpp_in, stdout);
}
 
gcc_assert (cpp_in);
cpp_undef_all (cpp_in);
cpp_clear_file_cache (cpp_in);
}
/cpp.h
24,6 → 24,12
 
bool gfc_cpp_preprocess_only (void);
 
bool gfc_cpp_makedep (void);
 
void gfc_cpp_add_dep (const char *name, bool system);
 
void gfc_cpp_add_target (const char *name);
 
const char *gfc_cpp_temporary_file (void);
 
 
/gfortran.h
1326,7 → 1326,7
struct gfc_code *code;
 
/* Points to the equivalences set up in this namespace. */
struct gfc_equiv *equiv;
struct gfc_equiv *equiv, *old_equiv;
 
/* Points to the equivalence groups produced by trans_common. */
struct gfc_equiv_list *equiv_lists;
2569,6 → 2569,7
void gfc_free_alloc_list (gfc_alloc *);
void gfc_free_namelist (gfc_namelist *);
void gfc_free_equiv (gfc_equiv *);
void gfc_free_equiv_until (gfc_equiv *, gfc_equiv *);
void gfc_free_data (gfc_data *);
void gfc_free_case_list (gfc_case *);
 
/lang.opt
56,6 → 56,42
Fortran Joined Separate
-J<directory> Put MODULE files in 'directory'
 
M
Fortran
; Documented in C
 
MD
Fortran Separate
; Documented in C
 
MF
Fortran Joined Separate
; Documented in C
 
MG
Fortran
; Documented in C
 
MM
Fortran
; Documented in C
 
MMD
Fortran Separate
; Documented in C
 
MP
Fortran
; Documented in C
 
MT
Fortran Joined Separate
; Documented in C
 
MQ
Fortran Joined Separate
; Documented in C
 
P
Fortran
; Documented in C
/invoke.texi
148,8 → 148,7
 
@item Directory Options
@xref{Directory Options,,Options for directory search}.
@gccoptlist{-I@var{dir} -J@var{dir} -M@var{dir} @gol
-fintrinsic-modules-path @var{dir}}
@gccoptlist{-I@var{dir} -J@var{dir} -fintrinsic-modules-path @var{dir}}
 
@item Link Options
@xref{Link Options,,Options for influencing the linking step}.
949,7 → 948,6
@option{-I} option.
 
@item -J@var{dir}
@item -M@var{dir}
@opindex @code{J}@var{dir}
@opindex @code{M}@var{dir}
@cindex paths, search
960,8 → 958,6
 
The default is the current directory.
 
@option{-M} is deprecated to avoid conflicts with existing GCC options.
 
@item -fintrinsic-modules-path @var{dir}
@opindex @code{fintrinsic-modules-path} @var{dir}
@cindex paths, search
/module.c
73,6 → 73,7
#include "match.h"
#include "parse.h" /* FIXME */
#include "md5.h"
#include "cpp.h"
 
#define MODULE_EXTENSION ".mod"
 
5100,6 → 5101,9
return;
}
 
if (gfc_cpp_makedep ())
gfc_cpp_add_target (filename);
 
/* Write the module to the temporary file. */
module_fp = fopen (filename_tmp, "w");
if (module_fp == NULL)
/trans.c
1041,7 → 1041,30
input_location = loc->lb->location;
}
 
/* Annotate statement or statement list T with location LOC. */
 
static void
gfc_annotate_with_location (tree t, location_t loc)
{
if (TREE_CODE (t) == STATEMENT_LIST)
{
tree_stmt_iterator i;
 
for (i = tsi_start (t); !tsi_end_p (i); tsi_next (&i))
gfc_annotate_with_location (tsi_stmt (i), loc);
return;
}
if (TREE_CODE (t) == COMPOUND_EXPR)
{
gfc_annotate_with_location (TREE_OPERAND (t, 0), loc);
gfc_annotate_with_location (TREE_OPERAND (t, 1), loc);
}
if (TREE_CODE (t) == LABEL_EXPR || !TREE_SIDE_EFFECTS (t))
return;
if (CAN_HAVE_LOCATION_P (t) && ! EXPR_HAS_LOCATION (t))
SET_EXPR_LOCATION (t, loc);
}
 
/* Translate an executable statement. The tree cond is used by gfc_trans_do.
This static function is wrapped by gfc_trans_code_cond and
gfc_trans_code. */
1067,6 → 1090,8
gfc_add_expr_to_block (&block, res);
}
 
gfc_set_backend_locus (&code->loc);
 
switch (code->op)
{
case EXEC_NOP:
1281,9 → 1306,8
 
if (res != NULL_TREE && ! IS_EMPTY_STMT (res))
{
if (TREE_CODE (res) != STATEMENT_LIST)
SET_EXPR_LOCATION (res, input_location);
gfc_annotate_with_location (res, input_location);
 
/* Add the new statement to the block. */
gfc_add_expr_to_block (&block, res);
}
/scanner.c
390,7 → 390,8
 
 
static FILE *
open_included_file (const char *name, gfc_directorylist *list, bool module)
open_included_file (const char *name, gfc_directorylist *list,
bool module, bool system)
{
char *fullname;
gfc_directorylist *p;
407,7 → 408,12
 
f = gfc_open_file (fullname);
if (f != NULL)
return f;
{
if (gfc_cpp_makedep ())
gfc_cpp_add_dep (fullname, system);
 
return f;
}
}
 
return NULL;
421,28 → 427,37
FILE *
gfc_open_included_file (const char *name, bool include_cwd, bool module)
{
FILE *f;
FILE *f = NULL;
 
if (IS_ABSOLUTE_PATH (name))
return gfc_open_file (name);
 
if (include_cwd)
if (IS_ABSOLUTE_PATH (name) || include_cwd)
{
f = gfc_open_file (name);
if (f != NULL)
return f;
if (f && gfc_cpp_makedep ())
gfc_cpp_add_dep (name, false);
}
 
return open_included_file (name, include_dirs, module);
if (!f)
f = open_included_file (name, include_dirs, module, false);
 
return f;
}
 
FILE *
gfc_open_intrinsic_module (const char *name)
{
FILE *f = NULL;
 
if (IS_ABSOLUTE_PATH (name))
return gfc_open_file (name);
{
f = gfc_open_file (name);
if (f && gfc_cpp_makedep ())
gfc_cpp_add_dep (name, true);
}
 
return open_included_file (name, intrinsic_modules_dirs, true);
if (!f)
f = open_included_file (name, intrinsic_modules_dirs, true, true);
 
return f;
}
 
 
/gfortranspec.c
415,36 → 415,6
continue;
}
 
if ((argv[i][0] == '-') && (argv[i][1] == 'M'))
{
char *p;
 
fprintf (stderr, _("Warning: Using -M <directory> is deprecated, "
"use -J instead\n"));
if (argv[i][2] == '\0')
{
if (i+1 < argc)
{
p = XNEWVEC (char, strlen (argv[i + 1]) + 3);
p[0] = '-';
p[1] = 'J';
strcpy (&p[2], argv[i + 1]);
i++;
}
else
fatal ("argument to '%s' missing", argv[i]);
}
else
{
p = XNEWVEC (char, strlen (argv[i]) + 1);
p[0] = '-';
p[1] = 'J';
strcpy (&p[2], argv[i] + 2);
}
append_arg (p);
continue;
}
 
if ((argv[i][0] == '-') && (argv[i][1] != 'l'))
{
/* Not a filename or library. */
/lang-specs.h
28,7 → 28,7
%{O*} %{undef}"
 
/* Options that f951 should know about, even if not preprocessing. */
#define CPP_FORWARD_OPTIONS "%{i*} %{I*}"
#define CPP_FORWARD_OPTIONS "%{i*} %{I*} %{M*}"
 
#define F951_CPP_OPTIONS "%{!nocpp: -cpp %g.f90 %{E} %(cpp_unique_options) \
%{E|M|MM:%(cpp_debug_options) " CPP_ONLY_OPTIONS \
/trans-decl.c
2252,11 → 2252,11
IDENTIFIER_POINTER (DECL_NAME (this_function_decl)));
 
if (!sym->attr.mixed_entry_master && sym->attr.function)
decl = build_decl (input_location,
decl = build_decl (DECL_SOURCE_LOCATION (this_function_decl),
VAR_DECL, get_identifier (name),
gfc_sym_type (sym));
else
decl = build_decl (input_location,
decl = build_decl (DECL_SOURCE_LOCATION (this_function_decl),
VAR_DECL, get_identifier (name),
TREE_TYPE (TREE_TYPE (this_function_decl)));
DECL_ARTIFICIAL (decl) = 1;
/match.c
2303,7 → 2303,7
gfc_match_decl_type_spec() from decl.c, with the following exceptions:
It only includes the intrinsic types from the Fortran 2003 standard
(thus, neither BYTE nor forms like REAL*4 are allowed). Additionally,
the implicit_flag is not needed, so it was removed. Derived types are
the implicit_flag is not needed, so it was removed. Derived types are
identified by their name alone. */
 
static match
2313,8 → 2313,30
locus old_locus;
 
gfc_clear_ts (ts);
gfc_gobble_whitespace();
old_locus = gfc_current_locus;
 
m = match_derived_type_spec (ts);
if (m == MATCH_YES)
{
old_locus = gfc_current_locus;
if (gfc_match (" :: ") != MATCH_YES)
return MATCH_ERROR;
gfc_current_locus = old_locus;
/* Enfore F03:C401. */
if (ts->u.derived->attr.abstract)
{
gfc_error ("Derived type '%s' at %L may not be ABSTRACT",
ts->u.derived->name, &old_locus);
return MATCH_ERROR;
}
return MATCH_YES;
}
else if (m == MATCH_ERROR && gfc_match (" :: ") == MATCH_YES)
return MATCH_ERROR;
 
gfc_current_locus = old_locus;
 
if (gfc_match ("integer") == MATCH_YES)
{
ts->type = BT_INTEGER;
2356,25 → 2378,6
goto kind_selector;
}
 
m = match_derived_type_spec (ts);
if (m == MATCH_YES)
{
old_locus = gfc_current_locus;
if (gfc_match (" :: ") != MATCH_YES)
return MATCH_ERROR;
gfc_current_locus = old_locus;
/* Enfore F03:C401. */
if (ts->u.derived->attr.abstract)
{
gfc_error ("Derived type '%s' at %L may not be ABSTRACT",
ts->u.derived->name, &old_locus);
return MATCH_ERROR;
}
return MATCH_YES;
}
else if (m == MATCH_ERROR && gfc_match (" :: ") == MATCH_YES)
return MATCH_ERROR;
 
/* If a type is not matched, simply return MATCH_NO. */
gfc_current_locus = old_locus;
return MATCH_NO;
3580,18 → 3583,25
do this. */
 
void
gfc_free_equiv (gfc_equiv *eq)
gfc_free_equiv_until (gfc_equiv *eq, gfc_equiv *stop)
{
if (eq == NULL)
if (eq == stop)
return;
 
gfc_free_equiv (eq->eq);
gfc_free_equiv (eq->next);
gfc_free_equiv_until (eq->next, stop);
gfc_free_expr (eq->expr);
gfc_free (eq);
}
 
 
void
gfc_free_equiv (gfc_equiv *eq)
{
gfc_free_equiv_until (eq, NULL);
}
 
 
/* Match an EQUIVALENCE statement. */
 
match
/parse.c
876,6 → 876,7
gfc_new_block = NULL;
 
gfc_current_ns->old_cl_list = gfc_current_ns->cl_list;
gfc_current_ns->old_equiv = gfc_current_ns->equiv;
for (;;)
{
gfc_statement_label = NULL;
1608,6 → 1609,9
gfc_free_charlen (gfc_current_ns->cl_list, gfc_current_ns->old_cl_list);
gfc_current_ns->cl_list = gfc_current_ns->old_cl_list;
 
gfc_free_equiv_until (gfc_current_ns->equiv, gfc_current_ns->old_equiv);
gfc_current_ns->equiv = gfc_current_ns->old_equiv;
 
gfc_new_block = NULL;
gfc_undo_symbols ();
gfc_clear_warning ();
1841,13 → 1845,12
 
case ST_DATA_DECL:
gfc_error ("Components in TYPE at %C must precede CONTAINS");
error_flag = true;
break;
goto error;
 
case ST_PROCEDURE:
if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Type-bound"
" procedure at %C") == FAILURE)
error_flag = true;
goto error;
 
accept_statement (ST_PROCEDURE);
seen_comps = true;
1856,7 → 1859,7
case ST_GENERIC:
if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: GENERIC binding"
" at %C") == FAILURE)
error_flag = true;
goto error;
 
accept_statement (ST_GENERIC);
seen_comps = true;
1866,7 → 1869,7
if (gfc_notify_std (GFC_STD_F2003,
"Fortran 2003: FINAL procedure declaration"
" at %C") == FAILURE)
error_flag = true;
goto error;
 
accept_statement (ST_FINAL);
seen_comps = true;
1879,7 → 1882,7
&& (gfc_notify_std (GFC_STD_F2008, "Fortran 2008: Derived type "
"definition at %C with empty CONTAINS "
"section") == FAILURE))
error_flag = true;
goto error;
 
/* ST_END_TYPE is accepted by parse_derived after return. */
break;
1889,8 → 1892,7
{
gfc_error ("PRIVATE statement in TYPE at %C must be inside "
"a MODULE");
error_flag = true;
break;
goto error;
}
 
if (seen_comps)
1897,14 → 1899,13
{
gfc_error ("PRIVATE statement at %C must precede procedure"
" bindings");
error_flag = true;
break;
goto error;
}
 
if (seen_private)
{
gfc_error ("Duplicate PRIVATE statement at %C");
error_flag = true;
goto error;
}
 
accept_statement (ST_PRIVATE);
1914,18 → 1915,22
 
case ST_SEQUENCE:
gfc_error ("SEQUENCE statement at %C must precede CONTAINS");
error_flag = true;
break;
goto error;
 
case ST_CONTAINS:
gfc_error ("Already inside a CONTAINS block at %C");
error_flag = true;
break;
goto error;
 
default:
unexpected_statement (st);
break;
}
 
continue;
 
error:
error_flag = true;
reject_statement ();
}
 
pop_state ();
2361,7 → 2366,10
gfc_commit_symbols ();
}
else
gfc_error_check ();
{
gfc_error_check ();
gfc_undo_symbols ();
}
 
gfc_current_locus =loc;
return m;
2433,6 → 2441,7
case ST_STATEMENT_FUNCTION:
gfc_error ("%s statement is not allowed inside of BLOCK at %C",
gfc_ascii_statement (st));
reject_statement ();
break;
 
default:
2519,6 → 2528,7
{
gfc_error ("%s statement must appear in a MODULE",
gfc_ascii_statement (st));
reject_statement ();
break;
}
 
2526,6 → 2536,7
{
gfc_error ("%s statement at %C follows another accessibility "
"specification", gfc_ascii_statement (st));
reject_statement ();
break;
}
 
3822,6 → 3833,7
{
gfc_error ("CONTAINS statement at %C is already in a contained "
"program unit");
reject_statement ();
st = next_statement ();
goto loop;
}
/intrinsic.texi
44,7 → 44,7
* @code{ACCESS}: ACCESS, Checks file access modes
* @code{ACHAR}: ACHAR, Character in @acronym{ASCII} collating sequence
* @code{ACOS}: ACOS, Arccosine function
* @code{ACOSH}: ACOSH, Hyperbolic arccosine function
* @code{ACOSH}: ACOSH, Inverse hyperbolic cosine function
* @code{ADJUSTL}: ADJUSTL, Left adjust a string
* @code{ADJUSTR}: ADJUSTR, Right adjust a string
* @code{AIMAG}: AIMAG, Imaginary part of complex number
56,11 → 56,11
* @code{ANINT}: ANINT, Nearest whole number
* @code{ANY}: ANY, Determine if any values are true
* @code{ASIN}: ASIN, Arcsine function
* @code{ASINH}: ASINH, Hyperbolic arcsine function
* @code{ASINH}: ASINH, Inverse hyperbolic sine function
* @code{ASSOCIATED}: ASSOCIATED, Status of a pointer or pointer/target pair
* @code{ATAN}: ATAN, Arctangent function
* @code{ATAN2}: ATAN2, Arctangent function
* @code{ATANH}: ATANH, Hyperbolic arctangent function
* @code{ATANH}: ATANH, Inverse hyperbolic tangent function
* @code{BESSEL_J0}: BESSEL_J0, Bessel function of the first kind of order 0
* @code{BESSEL_J1}: BESSEL_J1, Bessel function of the first kind of order 1
* @code{BESSEL_JN}: BESSEL_JN, Bessel function of the first kind
572,18 → 572,17
 
 
@node ACOSH
@section @code{ACOSH} --- Hyperbolic arccosine function
@section @code{ACOSH} --- Inverse hyperbolic cosine function
@fnindex ACOSH
@fnindex DACOSH
@cindex area hyperbolic cosine
@cindex hyperbolic arccosine
@cindex inverse hyperbolic cosine
@cindex hyperbolic function, cosine, inverse
@cindex cosine, hyperbolic, inverse
 
@table @asis
@item @emph{Description}:
@code{ACOSH(X)} computes the hyperbolic arccosine of @var{X} (inverse of
@code{COSH(X)}).
@code{ACOSH(X)} computes the inverse hyperbolic cosine of @var{X}.
 
@item @emph{Standard}:
Fortran 2008 and later
1213,17 → 1212,17
 
 
@node ASINH
@section @code{ASINH} --- Hyperbolic arcsine function
@section @code{ASINH} --- Inverse hyperbolic sine function
@fnindex ASINH
@fnindex DASINH
@cindex area hyperbolic sine
@cindex hyperbolic arcsine
@cindex inverse hyperbolic sine
@cindex hyperbolic function, sine, inverse
@cindex sine, hyperbolic, inverse
 
@table @asis
@item @emph{Description}:
@code{ASINH(X)} computes the hyperbolic arcsine of @var{X} (inverse of @code{SINH(X)}).
@code{ASINH(X)} computes the inverse hyperbolic sine of @var{X}.
 
@item @emph{Standard}:
Fortran 2008 and later
1455,18 → 1454,17
 
 
@node ATANH
@section @code{ATANH} --- Hyperbolic arctangent function
@fnindex ASINH
@fnindex DASINH
@section @code{ATANH} --- Inverse hyperbolic tangent function
@fnindex ATANH
@fnindex DATANH
@cindex area hyperbolic tangent
@cindex hyperbolic arctangent
@cindex inverse hyperbolic tangent
@cindex hyperbolic function, tangent, inverse
@cindex tangent, hyperbolic, inverse
 
@table @asis
@item @emph{Description}:
@code{ATANH(X)} computes the hyperbolic arctangent of @var{X} (inverse
of @code{TANH(X)}).
@code{ATANH(X)} computes the inverse hyperbolic tangent of @var{X}.
 
@item @emph{Standard}:
Fortran 2008 and later

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.