[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR] man://manpages-de/math_error.7



Liebe Korrekturleser,

diesmal vor der Quantifizierung (Dateigröße, Zeilenzahl) ein paar
Worte vorweg.

Vielleicht hätte diese Übersetzung schon früher gemacht werden sollen.
Sie behandelt einige Begriffe und Formulierungen, die bei den
mathematischen Funktionen der Libc immer wieder auftauchen und deren
Übersetzungen aus meiner Sicht Bestandteil der Wortliste sein und in
das Kompendium der manpages-de einfließen sollten. Ich habe leider
keine Vorstellung vom aktuellen Jargon: Für welche Begriffe gibt es
etablierte deutsche Übersetzungen, was ist Fach-Denglisch und sollte
daher nicht übersetzt werden?

Besonders am Herzen liegen mir die Übersetzungen von:
 - domain error (Funktionsargument ist außerhalb des
   Definitionsbereichs)
 - floating (point)
 - NaN (mit oder ohne Guillemets?)
 - overflow
 - pole error (Funktionswert unendlich)
 - raise an exception
 - range error (Funktionswert kann nicht im entsprechenden Datentyp
   dargestellt werden)
 - subnormal (mein Vorschlag: subnormal)
 - underflow.

Und jetzt die Quantifizierung: 39 Strings, 17K, 178 Zeilen im Terminal.

Martin
# German translation of manpages
# This file is distributed under the same license as the manpages-de package.
# Copyright © of this file:
#
# Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: manpages-de\n"
"POT-Creation-Date: 2012-03-20 08:21+0100\n"
"PO-Revision-Date: 2012-04-04 13:45+0100\n"
"Last-Translator: Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

#. type: TH
#, no-wrap
msgid "MATH_ERROR"
msgstr "MATH_ERROR"

#. type: TH
#, no-wrap
msgid "2008-08-11"
msgstr "11. August 2008"

#. type: TH
#, no-wrap
msgid "Linux"
msgstr "Linux"

#. type: TH
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux-Programmierhandbuch"

#. type: SH
#, no-wrap
msgid "NAME"
msgstr "BEZEICHNUNG"

#. type: Plain text
msgid "math_error - detecting errors from mathematical functions"
msgstr "math_error - Erkennung von Fehlern mathematischer Funktionen"

#. type: SH
#, no-wrap
msgid "SYNOPSIS"
msgstr "Ã?BERSICHT"

#. type: Plain text
#, no-wrap
msgid ""
"B<#include E<lt>math.hE<gt>>\n"
"B<#include E<lt>errno.hE<gt>>\n"
"B<#include E<lt>fenv.hE<gt>>\n"
msgstr ""
"B<#include E<lt>math.hE<gt>>\n"
"B<#include E<lt>errno.hE<gt>>\n"
"B<#include E<lt>fenv.hE<gt>>\n"

#. type: SH
#, no-wrap
msgid "DESCRIPTION"
msgstr "BESCHREIBUNG"

#. type: Plain text
msgid ""
"When an error occurs, most library functions indicate this fact by "
"returning a special value (e.g., -1 or NULL).  Because they typically "
"return a floating-point number, the mathematical functions declared in "
"I<E<lt>math.hE<gt>> indicate an error using other mechanisms.  There are "
"two error-reporting mechanisms: the older one sets I<errno>; the newer one "
"uses the floating-point exception mechanism (the use of B<feclearexcept>"
"(3)  and B<fetestexcept>(3), as outlined below)  described in B<fenv>(3)."
msgstr ""
"Wenn ein Fehler eintritt, zeigen die meisten Bibliotheksfunktionen diesen "
"Umstand durch Rückgabe eines speziellen Wertes an (z.B. -1 oder NULL). Weil "
"sie normalerweise eine Flie�komma-Zahl zurückgeben, zeigen die in "
"I<E<lt>math.hE<gt>> deklarierten Funktionen einen Fehler mit anderen "
"Mechanismen an. Es gibt zwei Mechanismen für das Berichten von Fehlern: Der "
"ältere setzt I<errno>; der neuere wird in B<fenv>(3) beschrieben und nutzt "
"den FlieÃ?komma-Ausnahmemechanismus (die Verwendung von B<feclearexcept>(3) "
"und B<fetestexcept>(3), wie im Folgenden skizziert)."

#. type: Plain text
msgid ""
"A portable program that needs to check for an error from a mathematical "
"function should set I<errno> to zero, and make the following call"
msgstr ""
"Ein portables Programm, das auf Fehler beim Aufruf mathematischer "
"Funktionen prüfen muss, sollte I<errno> auf Null setzen und "

#. type: Plain text
#, no-wrap
msgid "feclearexcept(FE_ALL_EXCEPT);\n"
msgstr "feclearexcept(FE_ALL_EXCEPT);\n"

#. type: Plain text
msgid "before calling a mathematical function."
msgstr "aufrufen, bevor es eine mathematische Funktion aufruft."

# Wahrscheinlich ist es besser, daraus
# "Ist nach Abschluss der mathematischen Funktionen I<errno> ungleich Null oder
# der Aufruf"
#   �bersetzung des nächsten Strings
#
# und im übernächsten String den Rest:
# (siehe B<fenv>(3)) gibt einen Wert ungleich Null zurück ...
#. type: Plain text
msgid ""
"Upon return from the mathematical function, if I<errno> is nonzero, or the "
"following call (see B<fenv>(3))  returns nonzero"
msgstr ""
"Ist nach Abschluss der mathematischen Funktionen I<errno> ungleich Null "
"oder der folgende Aufruf (siehe B<fenv>(3)) gibt einen Wert ungleich Null "
"zurück"

#. type: Plain text
#, no-wrap
msgid ""
"fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW |\n"
"             FE_UNDERFLOW);\n"
msgstr ""
"fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW |\n"
"             FE_UNDERFLOW);\n"

#.  enum
#.  {
#.  FE_INVALID = 0x01,
#.  __FE_DENORM = 0x02,
#.  FE_DIVBYZERO = 0x04,
#.  FE_OVERFLOW = 0x08,
#.  FE_UNDERFLOW = 0x10,
#.  FE_INEXACT = 0x20
#.  };
#. type: Plain text
msgid "then an error occurred in the mathematical function."
msgstr "trat in der mathematischen Funktion ein Fehler auf."

#. type: Plain text
msgid ""
"The error conditions that can occur for mathematical functions are "
"described below."
msgstr ""
"Im Folgenden werden die Fehlerbedingungen beschrieben, die bei "
"mathematischen Funktionen auftreten können."

#. type: SS
#, no-wrap
msgid "Domain Error"
msgstr "Argumentfehler"

#. type: Plain text
msgid ""
"A I<domain error> occurs when a mathematical function is supplied with an "
"argument whose value falls outside the domain for which the function is "
"defined (e.g., giving a negative argument to B<log>(3)).  When a domain "
"error occurs, math functions commonly return a NaN (though some functions "
"return a different value in this case); I<errno> is set to B<EDOM>, and an "
"\"invalid\" (B<FE_INVALID>)  floating-point exception is raised."
msgstr ""
"Ein I<Argumentfehler> liegt vor, wenn einer mathematischen Funktion ein "
"Argument übergeben wird, dessen Wert au�erhalb des Definitionsbereichs der "
"Funktion liegt (z.B. ein negatives Argument für B<log>(3)). Wenn ein "
"Argumentfehler vorliegt, geben mathematische Funktionen üblicherweise ein "
"NaN zurück (allerdings geben manche Funktionen in diesem Fall einen anderen "
"Wert zurück); I<errno> wird auf B<EDOM> gesetzt und die Flie�komma-Ausnahme "
"»ungültig« (B<FE_INVALID>) wird ausgelöst."

#. type: SS
#, no-wrap
msgid "Pole Error"
msgstr "Polfehler"

#. type: Plain text
msgid ""
"A I<pole error> occurs when the mathematical result of a function is an "
"exact infinity (e.g., the logarithm of 0 is negative infinity).  When a "
"pole error occurs, the function returns the (signed) value B<HUGE_VAL>, "
"B<HUGE_VALF>, or B<HUGE_VALL>, depending on whether the function result "
"type is I<double>, I<float>, or I<long double>.  The sign of the result is "
"that which is mathematically correct for the function.  I<errno> is set to "
"B<ERANGE>, and a \"divide-by-zero\" (B<FE_DIVBYZERO>)  floating-point "
"exception is raised."
msgstr ""
"Ein I<Polfehler> tritt ein, wenn das mathematische Ergebnis einer Funktion "
"exakt unendlich ist (z.B. ist der Logarithmus von 0 minus unendlich). Wenn "
"ein Polfehler eintritt, gibt die Funktion abhängig vom Typ des "
"Funktionsergebnisses (I<double>, I<float> oder I<long double>) den "
"(vorzeichenbehafteten) Wert B<HUGE_VAL>, B<HUGE_VALF> oder B<HUGE_VALL> "
"zurück. Das Vorzeichen des Ergebnisses ist das mathematisch korrekte "
"Vorzeichen für die Funktion. I<errno> wird auf B<ERANGE> gesetzt und die "
"Flie�komma-Ausnahme »Division durch Null« (B<FE_DIVBYZERO>) wird ausgelöst."

#. type: SS
#, no-wrap
msgid "Range Error"
msgstr "Bereichsfehler"

#. type: Plain text
msgid ""
"A I<range error> occurs when the magnitude of the function result means "
"that it cannot be represented in the result type of the function.  The "
"return value of the function depends on whether the range error was an "
"overflow or an underflow."
msgstr ""
"Ein I<Bereichsfehler> tritt ein, wenn der Betrag des Funktionsergebnisses "
"nicht im Ergebnisdatentyp der Funktion dargestellt werden kann. Der "
"Rückgabewert der Funktion hängt davon ab, ob der Bereichsfehler ein "
"Ã?berlauf oder ein Unterlauf war."

#. type: Plain text
msgid ""
"A floating result I<overflows> if the result is finite, but is too large to "
"represented in the result type.  When an overflow occurs, the function "
"returns the value B<HUGE_VAL>, B<HUGE_VALF>, or B<HUGE_VALL>, depending on "
"whether the function result type is I<double>, I<float>, or I<long "
"double>.  I<errno> is set to B<ERANGE>, and an \"overflow"
"\" (B<FE_OVERFLOW>)  floating-point exception is raised."
msgstr ""
"Ein Flie�komma-Ergebnis I<läuft über>, wenn das Ergebnis endlich, aber zu "
"gro� für die Darstellung im Datentyp des Ergebnisses ist. Wenn ein �berlauf "
"eintritt, gibt die Funktion abhängig vom Typ des Funktionsergebnisses "
"(I<double>, I<float> oder I<long double>) den Wert B<HUGE_VAL>, "
"B<HUGE_VALF> oder B<HUGE_VALL> zurück. I<errno> wird auf B<ERANGE> gesetzt "
"und die Flie�komma-Ausnahme »�berlauf« (B<FE_OVERFLOW>) wird ausgelöst."

# FIXME: underflow
#. type: Plain text
msgid ""
"A floating result I<underflows> if the result is too small to be "
"represented in the result type.  If an underflow occurs, a mathematical "
"function typically returns 0.0 (C99 says a function shall return \"an "
"implementation-defined value whose magnitude is no greater than the "
"smallest normalized positive number in the specified type\").  I<errno> may "
"be set to B<ERANGE>, and an \"overflow\" (B<FE_UNDERFLOW>)  floating-point "
"exception may be raised."
msgstr ""
"Ein Flie�komma-Ergebnis I<läuft unter>, wenn das Ergebnis zu klein für die "
"Darstellung im Datentyp des Ergebnisses ist. Wenn ein Unterlauf eintritt, "
"gibt die Funktion typischerweise 0.0 zurück. (C99 fordert, dass der "
"Rückgabewert einer Funktion »ein von der Implementierung definierter Wert "
"sein soll, dessen Betrag nicht grö�er als der kleinste normalisierte Wert "
"des spezifizierten Typs ist«.) I<errno> kann auf B<ERANGE> gesetzt und eine "
"Flie�komma-Ausnahme »Unterlauf« (B<FE_UNDERFLOW>) kann ausgelöst werden."

# http://en.wikipedia.org/wiki/Significand -> Mantisse
# Formulierung
#. type: Plain text
msgid ""
"Some functions deliver a range error if the supplied argument value, or the "
"correct function result, would be I<subnormal>.  A subnormal value is one "
"that is nonzero, but with a magnitude that is so small that it can't be "
"presented in normalized form (i.e., with a 1 in the most significant bit of "
"the significand).  The representation of a subnormal number will contain "
"one or more leading zeros in the significand."
msgstr ""
"Einige Funktionen geben einen Bereichsfehler zurück, wenn der übergebene "
"Argumentwert oder das korrekte Ergebnis der Funktion I<subnormal> sein "
"würden. Ein subnormaler Wert ist von Null verschieden, aber sein Betrag ist "
"so klein, dass er nicht in normierter Form (d.h. mit einer 1 im "
"signifikantesten Bit der Mantisse) dargestellt werden kann. Die Darstellung "
"einer subnormalen Zahl wird eine oder mehrere führende Nullen in der "
"Mantisse enthalten."

#. type: SH
#, no-wrap
msgid "NOTES"
msgstr "ANMERKUNGEN"

# FIXME: update glibc version (2.8)
#.  See CONFORMANCE in the glibc 2.8 (and earlier) source.
#. type: Plain text
msgid ""
"The I<math_errhandling> identifier specified by C99 and POSIX.1-2001 is not "
"supported by glibc.  This identifier is supposed to indicate which of the "
"two error-notification mechanisms (I<errno>, exceptions retrievable via "
"B<fettestexcept>(3))  is in use.  The standards require that at least one "
"be in use, but permit both to be available.  The current (version 2.8) "
"situation under glibc is messy.  Most (but not all) functions raise "
"exceptions on errors.  Some also set I<errno>.  A few functions set "
"I<errno>, but don't raise an exception.  A very few functions do neither.  "
"See the individual manual pages for details."
msgstr ""
"Die von C99 und POSIX.1-2001 spezifizierte Kennung I<math_errhandling> wird "
"von der Glibc nicht unterstützt. Diese Kennung soll angeben, welches der "
"beiden Verfahren zur Fehlermeldung (I<errno>, Ausnahmen abrufbar über "
"B<fettestexcept>(3)) verwendet wird. Die Standards fordern, dass mindestens "
"eins im Einsatz ist, erlauben aber, dass beide zur Verfügung stehen. Die "
"aktuelle Situation unter Glibc (Version 2.8) ist etwas chaotisch. Die "
"meisten (aber nicht alle) Funktionen lösen bei Fehlern Ausnahmen aus. "
"Einige setzen zusätzlich I<errno>. Einige Funktionen setzen I<errno>, lösen "
"aber keine Ausnahme aus. Einige wenige Funktionen tun weder das Eine noch "
"das Andere. Weitere Einzelheiten finden Sie auf den zugehörigen "
"Handbuchseiten."

#.  http://www.securecoding.cert.org/confluence/display/seccode/FLP32-C.+Prevent+or+detect+domain+and+range+errors+in+math+functions
#. type: Plain text
msgid ""
"To avoid the complexities of using I<errno> and B<fetestexcept>(3)  for "
"error checking, it is often advised that one should instead check for bad "
"argument values before each call.  For example, the following code ensures "
"that B<log>(3)'s argument is not a NaN and is not zero (a pole error) or "
"less than zero (a domain error):"
msgstr ""
"Um die komplizierte Anwendung von I<errno> und B<fetestexcept>(3) bei der "
"Fehlerprüfung zu vermeiden, wird oft empfohlen, stattdessen vor jedem "
"Aufruf die Güte der Argumentwerte zu prüfen. So sorgt beispielsweise der "
"folgende Code dafür, dass das Argument für B<log>(3) kein NaN und nicht "
"Null (ein Polfehler) oder kleiner als Null (ein Argumentfehler) ist."

#. type: Plain text
#, no-wrap
msgid "double x, r;\n"
msgstr "double x, r;\n"

#. type: Plain text
#, no-wrap
msgid ""
"if (isnan(x) || islessequal(x, 0)) {\n"
"    /* Deal with NaN / pole error / domain error */\n"
"}\n"
msgstr ""
"if (isnan(x) || islessequal(x, 0)) {\n"
"    /* Fehlerbehandlung für NaN / Polfehler / Argumentfehler */\n"
"}\n"

#. type: Plain text
#, no-wrap
msgid "r = log(x);\n"
msgstr "r = log(x);\n"

#. type: Plain text
msgid ""
"The discussion on this page does not apply to the complex mathematical "
"functions (i.e., those declared by I<E<lt>complex.hE<gt>>), which in "
"general are not required to return errors by C99 and POSIX.1-2001."
msgstr ""
"Die Diskussion auf dieser Seite gilt nicht für die mathematischen "
"Funktionen auf komplexen Zahlen (d.h. solche, die in I<E<lt>complex.hE<gt>> "
"deklariert werden). Von diesen erwarten C99 and POSIX.1-2001 keine Anzeige "
"von Fehlern."

#. type: Plain text
msgid ""
"The B<gcc>(1)  I<-fno-math-errno> option causes the executable to employ "
"implementations of some mathematical functions that are faster than the "
"standard implementations, but do not set I<errno> on error.  (The B<gcc>"
"(1)  I<-ffast-math> option also enables I<-fno-math-errno>.)  An error can "
"still be tested for using B<fetestexcept>(3)."
msgstr ""
"Die B<gcc>(1)-Option I<-fno-math-errno> bewirkt, dass die ausführbare Datei "
"Implementierungen einiger mathematischer Funktionen verwendet, die "
"schneller als die Standard-Implementierungen sind, aber im Fehlerfall "
"I<errno> nicht setzen. (Die B<gcc>(1)-Option I<-ffast-math> aktiviert "
"ebenfalls I<-fno-math-errno>.) Nach Fehlern kann immer noch mittels "
"B<fetestexcept>(3) gesucht werden."

#. type: SH
#, no-wrap
msgid "SEE ALSO"
msgstr "SIEHE AUCH"

#. type: Plain text
msgid ""
"B<gcc>(1), B<errno>(3), B<fenv>(3), B<fpclassify>(3), B<INFINITY>(3), "
"B<isgreater>(3), B<matherr>(3), B<nan>(3)"
msgstr ""
"B<gcc>(1), B<errno>(3), B<fenv>(3), B<fpclassify>(3), B<INFINITY>(3), "
"B<isgreater>(3), B<matherr>(3), B<nan>(3)"

#. type: Plain text
msgid "I<info libc>"
msgstr "I<info libc>"

#. type: SH
#, no-wrap
msgid "COLOPHON"
msgstr "KOLOPHON"

#. type: Plain text
msgid ""
"This page is part of release 3.35 of the Linux I<man-pages> project.  A "
"description of the project, and information about reporting bugs, can be "
"found at http://man7.org/linux/man-pages/.";
msgstr ""
"Diese Seite ist Teil der Veröffentlichung 3.35 des Projekts Linux-I<man-"
"pages>. Eine Beschreibung des Projekts und Informationen, wie Fehler "
"gemeldet werden können, finden sich unter http://man7.org/linux/man-pages/.";

Reply to: