mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 04:50:07 +00:00
Add systemtap probe markers for sin, cos, asin and acos
This commit is contained in:
parent
b2f386c18f
commit
f3fd2628d8
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
2013-11-20 Siddhesh Poyarekar <siddhesh@redhat.com>
|
||||
|
||||
* manual/probes.texi (Mathematical Function Probes): Add
|
||||
documentation for sin, cos, asin and acos probes.
|
||||
* sysdeps/ieee754/dbl-64/sincos32.c: Include stap-probe.h.
|
||||
(__sin32): Add slowasin probe.
|
||||
(__cos32): Add slowacos probe.
|
||||
(__mpsin): Add slowsin probe.
|
||||
(__mpcos): Add slowcos probe.
|
||||
|
||||
2013-11-19 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #15483]
|
||||
|
@ -353,3 +353,45 @@ results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function and @var{$arg2} is the computed
|
||||
result.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe slowasin (double @var{$arg1}, double @var{$arg2})
|
||||
This probe is hit when the @code{asin} function is called with an input that
|
||||
results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function and @var{$arg2} is the computed
|
||||
result.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe slowacos (double @var{$arg1}, double @var{$arg2})
|
||||
This probe is hit when the @code{acos} function is called with an input that
|
||||
results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function and @var{$arg2} is the computed
|
||||
result.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe slowsin (double @var{$arg1}, double @var{$arg2})
|
||||
This probe is hit when the @code{sin} function is called with an input that
|
||||
results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function and @var{$arg2} is the computed
|
||||
result.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe slowcos (double @var{$arg1}, double @var{$arg2})
|
||||
This probe is hit when the @code{cos} function is called with an input that
|
||||
results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function and @var{$arg2} is the computed
|
||||
result.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe slowsin_dx (double @var{$arg1}, double @var{$arg2}, double @var{$arg3})
|
||||
This probe is hit when the @code{sin} function is called with an input that
|
||||
results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function, @var{$arg2} is the error bound of
|
||||
@var{$arg1} and @var{$arg3} is the computed result.
|
||||
@end deftp
|
||||
|
||||
@deftp Probe slowcos_dx (double @var{$arg1}, double @var{$arg2}, double @var{$arg3})
|
||||
This probe is hit when the @code{cos} function is called with an input that
|
||||
results in multiple precision computation with precision 32. Argument
|
||||
@var{$arg1} is the input to the function, @var{$arg2} is the error bound of
|
||||
@var{$arg1} and @var{$arg3} is the computed result.
|
||||
@end deftp
|
||||
|
@ -43,6 +43,7 @@
|
||||
#include "mpa.h"
|
||||
#include "sincos32.h"
|
||||
#include <math_private.h>
|
||||
#include <stap-probe.h>
|
||||
|
||||
#ifndef SECTION
|
||||
# define SECTION
|
||||
@ -149,6 +150,7 @@ __sin32 (double x, double res, double res1)
|
||||
/* if a > 0 return min (res, res1), otherwise return max (res, res1). */
|
||||
if ((a.d[0] > 0 && res >= res1) || (a.d[0] <= 0 && res <= res1))
|
||||
res = res1;
|
||||
LIBC_PROBE (slowasin, 2, &res, &x);
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -182,6 +184,7 @@ __cos32 (double x, double res, double res1)
|
||||
/* if a > 0 return max (res, res1), otherwise return min (res, res1). */
|
||||
if ((a.d[0] > 0 && res <= res1) || (a.d[0] <= 0 && res >= res1))
|
||||
res = res1;
|
||||
LIBC_PROBE (slowacos, 2, &res, &x);
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -240,6 +243,7 @@ __mpsin (double x, double dx, bool reduce_range)
|
||||
default:
|
||||
__mp_dbl (&s, &y, p);
|
||||
}
|
||||
LIBC_PROBE (slowsin, 3, &x, &dx, &y);
|
||||
return y;
|
||||
}
|
||||
|
||||
@ -298,6 +302,7 @@ __mpcos (double x, double dx, bool reduce_range)
|
||||
default:
|
||||
__mp_dbl (&c, &y, p);
|
||||
}
|
||||
LIBC_PROBE (slowcos, 3, &x, &dx, &y);
|
||||
return y;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user