Vuo
2.0.0
type
VuoRange.c
Go to the documentation of this file.
1
10
#include "
type.h
"
11
13
#ifdef VUO_COMPILER
14
VuoModuleMetadata
({
15
"title"
:
"Range"
,
16
"description"
:
"Defines a range with an optionally bound/unbound min/max."
,
17
"keywords"
: [ ],
18
"version"
:
"1.0.0"
,
19
"dependencies"
: [
20
"VuoReal"
21
]
22
});
23
#endif
24
26
38
VuoRange
VuoRange_makeFromJson
(
json_object
* js)
39
{
40
return
(
VuoRange
){
41
VuoJson_getObjectValue
(
VuoReal
, js,
"minimum"
,
VuoRange_NoMinimum
),
42
VuoJson_getObjectValue
(
VuoReal
, js,
"maximum"
,
VuoRange_NoMaximum
),
43
""
44
};
45
}
46
51
json_object
*
VuoRange_getJson
(
const
VuoRange
value)
52
{
53
json_object
*js = json_object_new_object();
54
55
if
(value.minimum !=
VuoRange_NoMinimum
)
56
{
57
json_object
*cutoffObject =
VuoReal_getJson
(value.minimum);
58
json_object_object_add(js,
"minimum"
, cutoffObject);
59
}
60
61
if
(value.maximum !=
VuoRange_NoMaximum
)
62
{
63
json_object
*cropObject =
VuoReal_getJson
(value.maximum);
64
json_object_object_add(js,
"maximum"
, cropObject);
65
}
66
67
return
js;
68
}
69
70
75
char
*
VuoRange_getSummary
(
const
VuoRange
value)
76
{
77
if
(value.minimum !=
VuoRange_NoMinimum
&& value.maximum !=
VuoRange_NoMaximum
)
78
return
VuoText_format
(
"%g to %g"
, value.minimum, value.maximum);
79
else
if
(value.minimum !=
VuoRange_NoMinimum
)
80
return
VuoText_format
(
"%g to ∞"
, value.minimum);
81
else
if
(value.maximum !=
VuoRange_NoMaximum
)
82
return
VuoText_format
(
"-∞ to %g"
, value.maximum);
83
else
84
return
VuoText_format
(
"-∞ to ∞"
);
85
}
86
92
bool
VuoRange_areEqual
(
const
VuoRange
a,
const
VuoRange
b)
93
{
94
return
VuoReal_areEqual
(a.minimum, b.minimum)
95
&&
VuoReal_areEqual
(a.maximum, b.maximum);
96
}
97
103
bool
VuoRange_isLessThan
(
const
VuoRange
a,
const
VuoRange
b)
104
{
105
VuoType_returnInequality
(
VuoReal
, a.minimum, b.maximum);
106
VuoType_returnInequality
(
VuoReal
, a.minimum, b.maximum);
107
return
false
;
108
}
Generated on Thu Aug 29 2019 16:20:55 for Vuo by
1.8.16