Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
nerrons
purr-data
Commits
6d366852
Commit
6d366852
authored
Jul 31, 2018
by
Jonathan Wilkes
Browse files
Merge branch 'double-precision-interface'
parents
ceeacdfe
9eb7691c
Changes
2
Hide whitespace changes
Inline
Side-by-side
pd/src/s_inter.c
View file @
6d366852
...
...
@@ -84,6 +84,12 @@ typedef int socklen_t;
#define X_SPECIFIER "x%.6lx"
#if PD_FLOATSIZE == 32
#define FLOAT_SPECIFIER "%.6g"
#elif PD_FLOATSIZE == 64
#define FLOAT_SPECIFIER "%.14g"
#endif
static
int
stderr_isatty
;
/* I don't see any other systems where this header (and backtrace) are
...
...
@@ -865,7 +871,7 @@ void gui_do_vmess(const char *sel, char *fmt, int end, va_list ap)
if
(
nargs
>
0
)
sys_gui
(
","
);
switch
(
*
fp
++
)
{
case
'f'
:
sys_vgui
(
"%g"
,
va_arg
(
ap
,
double
));
break
;
case
'f'
:
sys_vgui
(
FLOAT_SPECIFIER
,
va_arg
(
ap
,
double
));
break
;
case
's'
:
escape_double_quotes
(
va_arg
(
ap
,
const
char
*
));
break
;
case
'i'
:
sys_vgui
(
"%d"
,
va_arg
(
ap
,
int
));
break
;
case
'x'
:
sys_vgui
(
"
\"
"
X_SPECIFIER
"
\"
"
,
...
...
@@ -912,10 +918,10 @@ void gui_f(t_float f)
{
if
(
gui_array_head
&&
!
gui_array_tail
)
{
sys_vgui
(
"%g"
,
f
);
sys_vgui
(
FLOAT_SPECIFIER
,
f
);
}
else
sys_vgui
(
",
%g"
,
f
);
sys_vgui
(
",
"
FLOAT_SPECIFIER
,
f
);
gui_array_head
=
0
;
gui_array_tail
=
0
;
}
...
...
pd/src/x_interface.c
View file @
6d366852
...
...
@@ -13,9 +13,9 @@
#include <stdio.h>
#if PD_FLOATSIZE == 32
#define FLOAT_SPECIFIER "%
s%s%
.6g"
#define FLOAT_SPECIFIER "%.6g"
#elif PD_FLOATSIZE == 64
#define FLOAT_SPECIFIER "%
s%s%
.14
l
g"
#define FLOAT_SPECIFIER "%.14g"
#endif
/* we need the following for [pdinfo] ... */
...
...
@@ -94,7 +94,8 @@ static void print_pointer(t_print *x, t_gpointer *gp)
static
void
print_float
(
t_print
*
x
,
t_floatarg
f
)
{
if
(
sys_nogui
)
post
(
FLOAT_SPECIFIER
,
x
->
x_sym
->
s_name
,
(
*
x
->
x_sym
->
s_name
?
": "
:
""
),
f
);
post
(
"%s%s"
FLOAT_SPECIFIER
,
x
->
x_sym
->
s_name
,
(
*
x
->
x_sym
->
s_name
?
": "
:
""
),
f
);
else
{
gui_start_vmess
(
"gui_print"
,
"xs"
,
x
,
x
->
x_sym
->
s_name
);
...
...
@@ -612,6 +613,13 @@ void pdinfo_dsp(t_pdinfo *x, t_symbol *s, int argc, t_atom *argv)
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
}
void
pdinfo_floatsize
(
t_pdinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
t_atom
at
[
1
];
SETFLOAT
(
at
,
(
t_float
)
PD_FLOATSIZE
);
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
}
void
pdinfo_audio_api
(
t_pdinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
t_atom
at
[
1
];
...
...
@@ -1025,6 +1033,8 @@ void pdinfo_setup(void)
gensym
(
"dir"
),
A_GIMME
,
0
);
class_addmethod
(
pdinfo_class
,
(
t_method
)
pdinfo_dsp
,
gensym
(
"dsp-status"
),
A_GIMME
,
0
);
class_addmethod
(
pdinfo_class
,
(
t_method
)
pdinfo_floatsize
,
gensym
(
"floatsize"
),
A_GIMME
,
0
);
class_addmethod
(
pdinfo_class
,
(
t_method
)
pdinfo_gui
,
gensym
(
"gui"
),
A_GIMME
,
0
);
class_addmethod
(
pdinfo_class
,
(
t_method
)
pdinfo_libdir
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment