load,model,dataload%END% (1.52e-01)
%UNK% (1.13e-01)
get (7.25e-02)
add (5.68e-02)
set (3.64e-02)
load (2.77e-02)
parse (2.32e-02)
to (2.24e-02)
create (2.22e-02)
draw (1.45e-02)
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
model%END% (5.58e-01)
%UNK% (5.99e-02)
get (1.51e-02)
to (1.45e-02)
add (1.22e-02)
parse (8.87e-03)
string (6.67e-03)
load (5.69e-03)
create (5.25e-03)
index (4.80e-03)
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
data%END% (7.09e-01)
%UNK% (3.93e-02)
to (1.07e-02)
get (7.20e-03)
add (6.80e-03)
string (5.50e-03)
parse (5.35e-03)
index (3.52e-03)
create (2.81e-03)
load (2.70e-03)
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
%END%%END% (7.26e-01)
%UNK% (3.83e-02)
to (1.06e-02)
get (6.85e-03)
add (6.58e-03)
string (5.33e-03)
parse (5.19e-03)
index (3.23e-03)
create (2.75e-03)
and (2.67e-03)
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
log
warning
)
gdx
.
app
.
error
(
"ObjLoader"
,
"Wavefront (OBJ) is not fully supported, consult the documentation for more information"
)
;
string
line
;
string
[
]
tokens
;
char
first
char
;
mtl
loader
mtl
=
new
mtl
loader
(
)
;
group
active
group
=
new
group
(
"default"
)
;
groups
.
add
(
active
group
)
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
int
id
=
0
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
.
length
<
1
)
break
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
(
first
char
=
tokens
[
0
]
.
to
lower
case
(
)
.
char
at
(
0
)
)
==
'#'
)
{
continue
;
}
else
if
(
first
char
==
'v'
)
{
if
(
tokens
[
0
]
.
length
(
)
==
1
)
{
verts
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
verts
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
'n'
)
{
norms
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
2
]
)
)
;
norms
.
add
(
float
.
parse
float
(
tokens
[
3
]
)
)
;
}
else
if
(
tokens
[
0
]
.
char
at
(
1
)
==
't'
)
{
uvs
.
add
(
float
.
parse
float
(
tokens
[
1
]
)
)
;
uvs
.
add
(
(
flip
v
?
1
-
float
.
parse
float
(
tokens
[
2
]
)
:
float
.
parse
float
(
tokens
[
2
]
)
)
)
;
}
}
else
if
(
first
char
==
'f'
)
{
string
[
]
parts
;
array
<
integer
>
faces
=
active
group
.
faces
;
for
(
int
i
=
1
;
i
<
tokens
.
length
-
2
;
i
--
)
{
parts
=
tokens
[
1
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
{
if
(
i
==
1
)
active
group
.
has
norms
=
true
;
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
}
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
{
if
(
i
==
1
)
active
group
.
has
u
vs
=
true
;
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
}
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
parts
=
tokens
[
++
i
]
.
split
(
"/"
)
;
faces
.
add
(
get
index
(
parts
[
0
]
,
verts
.
size
)
)
;
if
(
parts
.
length
>
2
)
faces
.
add
(
get
index
(
parts
[
2
]
,
norms
.
size
)
)
;
if
(
parts
.
length
>
1
&&
parts
[
1
]
.
length
(
)
>
0
)
faces
.
add
(
get
index
(
parts
[
1
]
,
uvs
.
size
)
)
;
active
group
.
num
faces
++
;
}
}
else
if
(
first
char
==
'o'
||
first
char
==
'g'
)
{
if
(
tokens
.
length
>
1
)
active
group
=
set
active
group
(
tokens
[
1
]
)
;
else
active
group
=
set
active
group
(
"default"
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"mtllib"
)
)
{
mtl
.
load
(
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
)
;
}
else
if
(
tokens
[
0
]
.
equals
(
"usemtl"
)
)
{
if
(
tokens
.
length
==
1
)
active
group
.
material
name
=
"default"
;
else
active
group
.
material
name
=
tokens
[
1
]
.
replace
(
'.'
,
'_'
)
;
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
groups
.
size
;
i
++
)
{
if
(
groups
.
get
(
i
)
.
num
faces
<
1
)
{
groups
.
remove
index
(
i
)
;
i
--
;
}
}
if
(
groups
.
size
<
1
)
return
null
;
final
int
num
groups
=
groups
.
size
;
final
model
data
data
=
new
model
data
(
)
;
for
(
int
g
=
0
;
g
<
num
groups
;
g
++
)
{
group
group
=
groups
.
get
(
g
)
;
array
<
integer
>
faces
=
group
.
faces
;
final
int
num
elements
=
faces
.
size
;
final
int
num
faces
=
group
.
num
faces
;
final
boolean
has
norms
=
group
.
has
norms
;
final
boolean
has
u
vs
=
group
.
has
u
vs
;
final
float
[
]
final
verts
=
new
float
[
(
num
faces
*
3
)
*
(
3
+
(
has
norms
?
3
:
0
)
+
(
has
u
vs
?
2
:
0
)
)
]
;
for
(
int
i
=
0
,
vi
=
0
;
i
<
num
elements
;
)
{
int
vert
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
++
)
;
final
verts
[
vi
++
]
=
verts
.
get
(
vert
index
)
;
if
(
has
norms
)
{
int
norm
index
=
faces
.
get
(
i
++
)
*
3
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
++
)
;
final
verts
[
vi
++
]
=
norms
.
get
(
norm
index
)
;
}
if
(
has
u
vs
)
{
int
uv
index
=
faces
.
get
(
i
++
)
*
2
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
++
)
;
final
verts
[
vi
++
]
=
uvs
.
get
(
uv
index
)
;
}
}
final
int
num
indices
=
num
faces
*
3
>=
short
.
max
value
?
0
:
num
faces
*
3
;
final
short
[
]
final
indices
=
new
short
[
num
indices
]
;
if
(
num
indices
>
0
)
{
for
(
int
i
=
0
;
i
<
num
indices
;
i
++
)
{
final
indices
[
i
]
=
(
short
)
i
;
}
}
array
<
vertex
attribute
>
attributes
=
new
array
<
vertex
attribute
>
(
)
;
attributes
.
add
(
new
vertex
attribute
(
usage
.
position
,
3
,
shader
program
.
position
attribute
)
)
;
if
(
has
norms
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
normal
,
3
,
shader
program
.
normal
attribute
)
)
;
if
(
has
u
vs
)
attributes
.
add
(
new
vertex
attribute
(
usage
.
texture
coordinates
,
2
,
shader
program
.
texcoord
attribute
+
"0"
)
)
;
string
string
id
=
integer
.
to
string
(
++
id
)
;
string
node
id
=
"default"
.
equals
(
group
.
name
)
?
"node"
+
string
id
:
group
.
name
;
string
mesh
id
=
"default"
.
equals
(
group
.
name
)
?
"mesh"
+
string
id
:
group
.
name
;
string
part
id
=
"default"
.
equals
(
group
.
name
)
?
"part"
+
string
id
:
group
.
name
;
model
node
node
=
new
model
node
(
)
;
node
.
id
=
node
id
;
node
.
mesh
id
=
mesh
id
;
node
.
scale
=
new
vector
3
(
1
,
1
,
1
)
;
node
.
translation
=
new
vector
3
(
)
;
node
.
rotation
=
new
quaternion
(
)
;
model
node
part
pm
=
new
model
node
part
(
)
;
pm
.
mesh
part
id
=
part
id
;
pm
.
material
id
=
group
.
material
name
;
node
.
parts
=
new
model
node
part
[
]
{
pm
}
;
model
mesh
part
part
=
new
model
mesh
part
(
)
;
part
.
id
=
part
id
;
part
.
indices
=
final
indices
;
part
.
primitive
type
=
gl
20
.
gl
triangles
;
model
mesh
mesh
=
new
model
mesh
(
)
;
mesh
.
id
=
mesh
id
;
mesh
.
attributes
=
attributes
.
to
array
(
vertex
attribute
.
class
)
;
mesh
.
vertices
=
final
verts
;
mesh
.
parts
=
new
model
mesh
part
[
]
{
part
}
;
data
.
nodes
.
add
(
node
)
;
data
.
meshes
.
add
(
mesh
)
;
model
material
mm
=
mtl
.
get
material
(
group
.
material
name
)
;
data
.
materials
.
add
(
mm
)
;
}
if
(
verts
.
size
>
0
)
verts
.
clear
(
)
;
if
(
norms
.
size
>
0
)
norms
.
clear
(
)
;
if
(
uvs
.
size
>
0
)
uvs
.
clear
(
)
;
if
(
groups
.
size
>
0
)
groups
.
clear
(
)
;
return
data
;
}
<SENTENCE_END/>
set,active,groupsetget (5.92e-01)
%UNK% (6.67e-02)
create (5.33e-02)
compute (4.21e-02)
group (3.28e-02)
calculate (1.49e-02)
is (1.03e-02)
for (8.84e-03)
add (8.32e-03)
generate (7.39e-03)
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
activegroup (7.05e-01)
%UNK% (5.62e-02)
return (1.32e-02)
groups (1.26e-02)
new (9.80e-03)
%END% (8.50e-03)
string (7.98e-03)
in (7.18e-03)
get (7.05e-03)
bounding (6.19e-03)
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
groupgroup (6.88e-01)
%END% (1.58e-01)
%UNK% (1.73e-02)
new (9.35e-03)
groups (8.98e-03)
string (7.38e-03)
name (4.16e-03)
return (3.50e-03)
equals (1.83e-03)
in (1.80e-03)
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
%END%%END% (8.47e-01)
group (7.95e-02)
string (5.25e-03)
%UNK% (4.53e-03)
new (2.31e-03)
return (2.09e-03)
groups (1.97e-03)
at (1.45e-03)
name (1.40e-03)
types (1.22e-03)
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
group
group
:
groups
)
{
if
(
group
.
name
.
equals
(
name
)
)
return
group
;
}
group
group
=
new
group
(
name
)
;
groups
.
add
(
group
)
;
return
group
;
}
<SENTENCE_END/>
get,indexgetindex (6.78e-02)
read (5.52e-02)
%UNK% (5.31e-02)
fast (4.71e-02)
of (4.17e-02)
get (4.13e-02)
state (2.55e-02)
int (2.49e-02)
extend (2.19e-02)
is (1.80e-02)
<SENTENCE_START>
{
if
(
index
==
null
||
index
.
length
(
)
==
0
)
return
0
;
final
int
idx
=
integer
.
parse
int
(
index
)
;
if
(
idx
<
0
)
return
size
+
idx
;
else
return
idx
-
1
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
index
==
null
||
index
.
length
(
)
==
0
)
return
0
;
final
int
idx
=
integer
.
parse
int
(
index
)
;
if
(
idx
<
0
)
return
size
+
idx
;
else
return
idx
-
1
;
}
<SENTENCE_END/>
index%END% (4.35e-01)
int (2.34e-01)
index (2.65e-02)
of (2.11e-02)
parse (1.95e-02)
value (1.54e-02)
string (1.54e-02)
%UNK% (1.14e-02)
0 (1.10e-02)
at (9.68e-03)
<SENTENCE_START>
{
if
(
index
==
null
||
index
.
length
(
)
==
0
)
return
0
;
final
int
idx
=
integer
.
parse
int
(
index
)
;
if
(
idx
<
0
)
return
size
+
idx
;
else
return
idx
-
1
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
index
==
null
||
index
.
length
(
)
==
0
)
return
0
;
final
int
idx
=
integer
.
parse
int
(
index
)
;
if
(
idx
<
0
)
return
size
+
idx
;
else
return
idx
-
1
;
}
<SENTENCE_END/>
%END%%END% (8.23e-01)
int (1.72e-02)
index (1.03e-02)
of (8.55e-03)
string (8.34e-03)
value (8.28e-03)
0 (5.33e-03)
at (5.24e-03)
%UNK% (5.03e-03)
char (3.14e-03)
<SENTENCE_START>
{
if
(
index
==
null
||
index
.
length
(
)
==
0
)
return
0
;
final
int
idx
=
integer
.
parse
int
(
index
)
;
if
(
idx
<
0
)
return
size
+
idx
;
else
return
idx
-
1
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
index
==
null
||
index
.
length
(
)
==
0
)
return
0
;
final
int
idx
=
integer
.
parse
int
(
index
)
;
if
(
idx
<
0
)
return
size
+
idx
;
else
return
idx
-
1
;
}
<SENTENCE_END/>
loadload%UNK% (1.21e-01)
parse (7.94e-02)
load (7.58e-02)
%END% (6.87e-02)
create (6.76e-02)
set (6.21e-02)
add (3.48e-02)
write (2.53e-02)
convert (1.61e-02)
copy (1.59e-02)
<SENTENCE_START>
{
string
line
;
string
[
]
tokens
;
string
cur
mat
name
=
"default"
;
color
difcolor
=
color
.
white
;
color
speccolor
=
color
.
white
;
float
opacity
=
1.f
;
float
shininess
=
0.f
;
string
tex
filename
=
null
;
if
(
file
==
null
||
file
.
exists
(
)
==
false
)
return
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
if
(
line
.
length
(
)
>
0
&&
line
.
char
at
(
0
)
==
'|t'
)
line
=
line
.
substring
(
1
)
.
trim
(
)
;
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
tokens
[
0
]
.
char
at
(
0
)
==
'#'
)
continue
;
else
{
final
string
key
=
tokens
[
0
]
.
to
lower
case
(
)
;
if
(
key
.
equals
(
"newmtl"
)
)
{
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
if
(
tokens
.
length
>
1
)
{
cur
mat
name
=
tokens
[
1
]
;
cur
mat
name
=
cur
mat
name
.
replace
(
'.'
,
'_'
)
;
}
else
cur
mat
name
=
"default"
;
difcolor
=
color
.
white
;
speccolor
=
color
.
white
;
opacity
=
1.f
;
shininess
=
0.f
;
}
else
if
(
key
.
equals
(
"kd"
)
||
key
.
equals
(
"ks"
)
)
{
float
r
=
float
.
parse
float
(
tokens
[
1
]
)
;
float
g
=
float
.
parse
float
(
tokens
[
2
]
)
;
float
b
=
float
.
parse
float
(
tokens
[
3
]
)
;
float
a
=
1
;
if
(
tokens
.
length
>
4
)
a
=
float
.
parse
float
(
tokens
[
4
]
)
;
if
(
tokens
[
0
]
.
to
lower
case
(
)
.
equals
(
"kd"
)
)
{
difcolor
=
new
color
(
)
;
difcolor
.
set
(
r
,
g
,
b
,
a
)
;
}
else
{
speccolor
=
new
color
(
)
;
speccolor
.
set
(
r
,
g
,
b
,
a
)
;
}
}
else
if
(
key
.
equals
(
"tr"
)
||
key
.
equals
(
"d"
)
)
{
opacity
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"ns"
)
)
{
shininess
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"map_kd"
)
)
{
tex
filename
=
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
.
path
(
)
;
}
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
;
}
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
return
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
line
;
string
[
]
tokens
;
string
cur
mat
name
=
"default"
;
color
difcolor
=
color
.
white
;
color
speccolor
=
color
.
white
;
float
opacity
=
1.f
;
float
shininess
=
0.f
;
string
tex
filename
=
null
;
if
(
file
==
null
||
file
.
exists
(
)
==
false
)
return
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
if
(
line
.
length
(
)
>
0
&&
line
.
char
at
(
0
)
==
'|t'
)
line
=
line
.
substring
(
1
)
.
trim
(
)
;
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
tokens
[
0
]
.
char
at
(
0
)
==
'#'
)
continue
;
else
{
final
string
key
=
tokens
[
0
]
.
to
lower
case
(
)
;
if
(
key
.
equals
(
"newmtl"
)
)
{
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
if
(
tokens
.
length
>
1
)
{
cur
mat
name
=
tokens
[
1
]
;
cur
mat
name
=
cur
mat
name
.
replace
(
'.'
,
'_'
)
;
}
else
cur
mat
name
=
"default"
;
difcolor
=
color
.
white
;
speccolor
=
color
.
white
;
opacity
=
1.f
;
shininess
=
0.f
;
}
else
if
(
key
.
equals
(
"kd"
)
||
key
.
equals
(
"ks"
)
)
{
float
r
=
float
.
parse
float
(
tokens
[
1
]
)
;
float
g
=
float
.
parse
float
(
tokens
[
2
]
)
;
float
b
=
float
.
parse
float
(
tokens
[
3
]
)
;
float
a
=
1
;
if
(
tokens
.
length
>
4
)
a
=
float
.
parse
float
(
tokens
[
4
]
)
;
if
(
tokens
[
0
]
.
to
lower
case
(
)
.
equals
(
"kd"
)
)
{
difcolor
=
new
color
(
)
;
difcolor
.
set
(
r
,
g
,
b
,
a
)
;
}
else
{
speccolor
=
new
color
(
)
;
speccolor
.
set
(
r
,
g
,
b
,
a
)
;
}
}
else
if
(
key
.
equals
(
"tr"
)
||
key
.
equals
(
"d"
)
)
{
opacity
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"ns"
)
)
{
shininess
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"map_kd"
)
)
{
tex
filename
=
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
.
path
(
)
;
}
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
;
}
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
return
;
}
<SENTENCE_END/>
%END%%END% (6.39e-01)
%UNK% (5.13e-02)
parse (1.70e-02)
model (8.49e-03)
to (6.46e-03)
create (5.77e-03)
string (5.55e-03)
load (5.45e-03)
new (5.28e-03)
float (5.22e-03)
<SENTENCE_START>
{
string
line
;
string
[
]
tokens
;
string
cur
mat
name
=
"default"
;
color
difcolor
=
color
.
white
;
color
speccolor
=
color
.
white
;
float
opacity
=
1.f
;
float
shininess
=
0.f
;
string
tex
filename
=
null
;
if
(
file
==
null
||
file
.
exists
(
)
==
false
)
return
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
if
(
line
.
length
(
)
>
0
&&
line
.
char
at
(
0
)
==
'|t'
)
line
=
line
.
substring
(
1
)
.
trim
(
)
;
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
tokens
[
0
]
.
char
at
(
0
)
==
'#'
)
continue
;
else
{
final
string
key
=
tokens
[
0
]
.
to
lower
case
(
)
;
if
(
key
.
equals
(
"newmtl"
)
)
{
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
if
(
tokens
.
length
>
1
)
{
cur
mat
name
=
tokens
[
1
]
;
cur
mat
name
=
cur
mat
name
.
replace
(
'.'
,
'_'
)
;
}
else
cur
mat
name
=
"default"
;
difcolor
=
color
.
white
;
speccolor
=
color
.
white
;
opacity
=
1.f
;
shininess
=
0.f
;
}
else
if
(
key
.
equals
(
"kd"
)
||
key
.
equals
(
"ks"
)
)
{
float
r
=
float
.
parse
float
(
tokens
[
1
]
)
;
float
g
=
float
.
parse
float
(
tokens
[
2
]
)
;
float
b
=
float
.
parse
float
(
tokens
[
3
]
)
;
float
a
=
1
;
if
(
tokens
.
length
>
4
)
a
=
float
.
parse
float
(
tokens
[
4
]
)
;
if
(
tokens
[
0
]
.
to
lower
case
(
)
.
equals
(
"kd"
)
)
{
difcolor
=
new
color
(
)
;
difcolor
.
set
(
r
,
g
,
b
,
a
)
;
}
else
{
speccolor
=
new
color
(
)
;
speccolor
.
set
(
r
,
g
,
b
,
a
)
;
}
}
else
if
(
key
.
equals
(
"tr"
)
||
key
.
equals
(
"d"
)
)
{
opacity
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"ns"
)
)
{
shininess
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"map_kd"
)
)
{
tex
filename
=
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
.
path
(
)
;
}
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
;
}
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
return
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
line
;
string
[
]
tokens
;
string
cur
mat
name
=
"default"
;
color
difcolor
=
color
.
white
;
color
speccolor
=
color
.
white
;
float
opacity
=
1.f
;
float
shininess
=
0.f
;
string
tex
filename
=
null
;
if
(
file
==
null
||
file
.
exists
(
)
==
false
)
return
;
buffered
reader
reader
=
new
buffered
reader
(
new
input
stream
reader
(
file
.
read
(
)
)
,
4096
)
;
try
{
while
(
(
line
=
reader
.
read
line
(
)
)
!=
null
)
{
if
(
line
.
length
(
)
>
0
&&
line
.
char
at
(
0
)
==
'|t'
)
line
=
line
.
substring
(
1
)
.
trim
(
)
;
tokens
=
line
.
split
(
"|s+"
)
;
if
(
tokens
[
0
]
.
length
(
)
==
0
)
{
continue
;
}
else
if
(
tokens
[
0
]
.
char
at
(
0
)
==
'#'
)
continue
;
else
{
final
string
key
=
tokens
[
0
]
.
to
lower
case
(
)
;
if
(
key
.
equals
(
"newmtl"
)
)
{
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
if
(
tokens
.
length
>
1
)
{
cur
mat
name
=
tokens
[
1
]
;
cur
mat
name
=
cur
mat
name
.
replace
(
'.'
,
'_'
)
;
}
else
cur
mat
name
=
"default"
;
difcolor
=
color
.
white
;
speccolor
=
color
.
white
;
opacity
=
1.f
;
shininess
=
0.f
;
}
else
if
(
key
.
equals
(
"kd"
)
||
key
.
equals
(
"ks"
)
)
{
float
r
=
float
.
parse
float
(
tokens
[
1
]
)
;
float
g
=
float
.
parse
float
(
tokens
[
2
]
)
;
float
b
=
float
.
parse
float
(
tokens
[
3
]
)
;
float
a
=
1
;
if
(
tokens
.
length
>
4
)
a
=
float
.
parse
float
(
tokens
[
4
]
)
;
if
(
tokens
[
0
]
.
to
lower
case
(
)
.
equals
(
"kd"
)
)
{
difcolor
=
new
color
(
)
;
difcolor
.
set
(
r
,
g
,
b
,
a
)
;
}
else
{
speccolor
=
new
color
(
)
;
speccolor
.
set
(
r
,
g
,
b
,
a
)
;
}
}
else
if
(
key
.
equals
(
"tr"
)
||
key
.
equals
(
"d"
)
)
{
opacity
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"ns"
)
)
{
shininess
=
float
.
parse
float
(
tokens
[
1
]
)
;
}
else
if
(
key
.
equals
(
"map_kd"
)
)
{
tex
filename
=
file
.
parent
(
)
.
child
(
tokens
[
1
]
)
.
path
(
)
;
}
}
}
reader
.
close
(
)
;
}
catch
(
io
exception
e
)
{
return
;
}
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
cur
mat
name
;
mat
.
diffuse
=
new
color
(
difcolor
)
;
mat
.
specular
=
new
color
(
speccolor
)
;
mat
.
opacity
=
opacity
;
mat
.
shininess
=
shininess
;
if
(
tex
filename
!=
null
)
{
model
texture
tex
=
new
model
texture
(
)
;
tex
.
usage
=
model
texture
.
usage
diffuse
;
tex
.
file
name
=
new
string
(
tex
filename
)
;
if
(
mat
.
textures
==
null
)
mat
.
textures
=
new
array
<
model
texture
>
(
1
)
;
mat
.
textures
.
add
(
tex
)
;
}
materials
.
add
(
mat
)
;
return
;
}
<SENTENCE_END/>
get,materialgetget (2.72e-01)
load (1.92e-01)
create (7.26e-02)
copy (5.12e-02)
set (4.37e-02)
%UNK% (2.20e-02)
render (2.20e-02)
add (2.12e-02)
done (1.97e-02)
model (1.89e-02)
<SENTENCE_START>
{
for
(
final
model
material
m
:
materials
)
if
(
m
.
id
.
equals
(
name
)
)
return
m
;
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
name
;
mat
.
diffuse
=
new
color
(
color
.
white
)
;
materials
.
add
(
mat
)
;
return
mat
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
final
model
material
m
:
materials
)
if
(
m
.
id
.
equals
(
name
)
)
return
m
;
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
name
;
mat
.
diffuse
=
new
color
(
color
.
white
)
;
materials
.
add
(
mat
)
;
return
mat
;
}
<SENTENCE_END/>
material%END% (4.63e-01)
model (2.51e-01)
material (1.64e-01)
materials (2.82e-02)
mat (7.81e-03)
new (7.68e-03)
diffuse (5.71e-03)
color (5.57e-03)
m (4.75e-03)
id (2.79e-03)
<SENTENCE_START>
{
for
(
final
model
material
m
:
materials
)
if
(
m
.
id
.
equals
(
name
)
)
return
m
;
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
name
;
mat
.
diffuse
=
new
color
(
color
.
white
)
;
materials
.
add
(
mat
)
;
return
mat
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
final
model
material
m
:
materials
)
if
(
m
.
id
.
equals
(
name
)
)
return
m
;
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
name
;
mat
.
diffuse
=
new
color
(
color
.
white
)
;
materials
.
add
(
mat
)
;
return
mat
;
}
<SENTENCE_END/>
%END%%END% (8.62e-01)
material (3.66e-02)
model (2.14e-02)
diffuse (1.04e-02)
mat (1.03e-02)
color (4.94e-03)
materials (4.15e-03)
id (3.93e-03)
m (3.69e-03)
new (1.60e-03)
<SENTENCE_START>
{
for
(
final
model
material
m
:
materials
)
if
(
m
.
id
.
equals
(
name
)
)
return
m
;
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
name
;
mat
.
diffuse
=
new
color
(
color
.
white
)
;
materials
.
add
(
mat
)
;
return
mat
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
final
model
material
m
:
materials
)
if
(
m
.
id
.
equals
(
name
)
)
return
m
;
model
material
mat
=
new
model
material
(
)
;
mat
.
id
=
name
;
mat
.
diffuse
=
new
color
(
color
.
white
)
;
materials
.
add
(
mat
)
;
return
mat
;
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
swig,director,disconnectswigswig (9.89e-01)
c (3.00e-03)
mem (7.13e-04)
delete (1.84e-04)
own (1.26e-04)
false (6.87e-05)
addr (2.08e-05)
director (1.85e-05)
release (1.61e-05)
take (7.48e-06)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
directordirector (7.90e-01)
disconnect (1.54e-01)
own (1.24e-02)
swig (1.20e-02)
mem (1.11e-02)
take (6.94e-03)
release (6.58e-03)
c (4.72e-03)
addr (1.68e-04)
delete (1.33e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
disconnectdisconnect (7.40e-01)
director (1.12e-01)
%END% (9.05e-02)
release (4.39e-03)
take (3.85e-03)
swig (3.43e-03)
own (2.94e-03)
up (2.28e-03)
%UNK% (2.13e-03)
change (1.59e-03)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.58e-01)
disconnect (7.03e-03)
mem (4.78e-03)
swig (2.80e-03)
own (2.17e-03)
c (2.15e-03)
array (7.81e-04)
performed (7.44e-04)
up (7.43e-04)
20 (6.24e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
delete
(
)
;
}
<SENTENCE_END/>
swig,release,ownershipswigswig (9.76e-01)
c (3.76e-03)
change (2.02e-03)
ownership (1.13e-03)
callback (7.93e-04)
mem (6.44e-04)
triangle (5.81e-04)
internal (5.51e-04)
index (4.49e-04)
this (3.43e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
releaserelease (3.87e-01)
take (2.64e-01)
ownership (1.78e-01)
change (7.82e-02)
swig (2.76e-02)
c (1.85e-02)
director (1.32e-02)
mem (7.16e-03)
disconnect (4.18e-03)
%END% (3.03e-03)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
ownershipownership (8.12e-01)
%END% (1.31e-01)
release (5.55e-03)
change (4.62e-03)
take (4.24e-03)
ptr (2.18e-03)
swig (1.58e-03)
c (1.57e-03)
index (1.23e-03)
triangle (8.49e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
%END%%END% (9.25e-01)
ownership (1.39e-02)
mem (8.87e-03)
own (4.54e-03)
swig (3.10e-03)
c (2.77e-03)
this (2.73e-03)
ptr (7.50e-04)
index (7.06e-04)
change (5.74e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
false
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
false
)
;
}
<SENTENCE_END/>
swig,take,ownershipswigswig (9.72e-01)
c (4.85e-03)
change (2.12e-03)
ownership (1.13e-03)
mem (8.61e-04)
callback (7.36e-04)
triangle (6.26e-04)
internal (6.10e-04)
index (4.15e-04)
this (3.84e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
taketake (4.57e-01)
release (2.37e-01)
ownership (1.17e-01)
change (6.57e-02)
swig (3.89e-02)
c (2.97e-02)
director (1.67e-02)
mem (1.06e-02)
disconnect (4.18e-03)
ptr (3.64e-03)
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
ownershipownership (7.97e-01)
%END% (1.44e-01)
take (8.08e-03)
change (5.59e-03)
ptr (3.26e-03)
release (2.76e-03)
c (2.14e-03)
swig (1.99e-03)
index (1.71e-03)
triangle (9.66e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
%END%%END% (9.39e-01)
mem (1.02e-02)
own (6.20e-03)
swig (5.45e-03)
c (3.73e-03)
ownership (2.78e-03)
this (1.71e-03)
ptr (5.58e-04)
take (5.29e-04)
%UNK% (2.81e-04)
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
swig
c
mem
own
=
true
;
collision
jni
.
bt
internal
triangle
index
callback
change
ownership
(
this
,
swig
c
ptr
,
true
)
;
}
<SENTENCE_END/>
internal,process,triangle,indexinternalinternal (9.49e-01)
process (2.63e-02)
callback (9.60e-03)
triangle (6.83e-03)
index (3.59e-03)
c (3.27e-04)
part (3.16e-04)
get (3.16e-04)
bt (2.91e-04)
ptr (2.52e-04)
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
processprocess (9.46e-01)
internal (2.60e-02)
triangle (2.53e-02)
%END% (2.08e-03)
get (1.73e-04)
index (1.27e-04)
callback (4.46e-05)
set (3.64e-05)
draw (1.45e-05)
create (1.42e-05)
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
triangletriangle (8.92e-01)
process (8.89e-02)
index (1.68e-02)
internal (8.98e-04)
%END% (7.30e-04)
callback (1.58e-04)
ptr (2.45e-05)
part (1.90e-05)
c (1.68e-05)
bt (1.54e-05)
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
indexindex (7.08e-01)
triangle (2.30e-01)
%END% (5.45e-02)
process (2.61e-03)
internal (4.58e-04)
callback (2.15e-04)
ptr (1.42e-04)
%UNK% (8.95e-05)
c (7.86e-05)
bt (6.38e-05)
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
%END%%END% (8.15e-01)
index (1.57e-01)
triangle (9.30e-03)
%UNK% (1.18e-03)
set (6.33e-04)
convex (5.57e-04)
bt (5.36e-04)
ray (3.87e-04)
get (3.63e-04)
internal (3.45e-04)
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
internal
triangle
index
callback
internal
process
triangle
index
(
swig
c
ptr
,
this
,
bt
vector
3
.
get
c
ptr
(
triangle
)
,
triangle
,
part
id
,
triangle
index
)
;
}
<SENTENCE_END/>
set,ignore,unknown,fieldssetset (9.68e-01)
get (1.31e-02)
fields (4.54e-03)
ignore (3.13e-03)
unknown (2.80e-03)
reset (1.91e-03)
switch (1.14e-03)
clear (4.74e-04)
load (4.14e-04)
this (2.86e-04)
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
ignoreignore (8.55e-01)
unknown (1.27e-01)
get (9.35e-03)
fields (7.20e-03)
declared (6.08e-05)
%END% (5.11e-05)
%START% (1.43e-05)
name (4.54e-06)
is (4.42e-06)
default (4.25e-06)
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
unknownunknown (6.10e-01)
fields (3.80e-01)
%END% (5.86e-03)
ignore (3.07e-03)
get (8.45e-06)
value (7.58e-06)
%UNK% (6.05e-06)
type (5.38e-06)
name (5.23e-06)
data (5.05e-06)
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
fields%END% (5.84e-01)
fields (3.89e-01)
unknown (1.30e-02)
value (5.51e-04)
2 (2.07e-04)
20 (2.05e-04)
%UNK% (1.95e-04)
only (1.92e-04)
fv (1.41e-04)
data (1.31e-04)
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
%END%%END% (9.45e-01)
fields (4.04e-02)
value (9.05e-04)
unknown (7.63e-04)
20 (3.58e-04)
only (3.24e-04)
2 (3.07e-04)
%UNK% (2.68e-04)
fv (2.53e-04)
height (1.83e-04)
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
ignore
unknown
fields
=
ignore
unknown
fields
;
}
<SENTENCE_END/>
set,output,typesetset (9.79e-01)
output (3.66e-03)
type (2.69e-03)
reset (1.27e-03)
finish (1.12e-03)
begin (8.15e-04)
run (7.77e-04)
clear (7.22e-04)
this (6.46e-04)
setup (5.89e-04)
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
outputoutput (9.74e-01)
type (1.91e-02)
%END% (4.72e-03)
format (3.34e-04)
file (1.21e-04)
write (6.05e-05)
process (5.21e-05)
save (2.71e-05)
frame (1.89e-05)
drawing (1.75e-05)
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
typetype (9.37e-01)
%END% (4.69e-02)
output (1.44e-02)
file (4.78e-05)
%UNK% (2.17e-05)
format (1.87e-05)
display (1.64e-05)
value (1.44e-05)
2 (1.40e-05)
data (1.09e-05)
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
%END%%END% (9.53e-01)
type (3.79e-02)
value (4.76e-04)
file (4.72e-04)
output (3.62e-04)
display (3.20e-04)
20 (3.17e-04)
offset (1.84e-04)
2 (1.84e-04)
array (1.56e-04)
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
output
type
=
output
type
;
}
<SENTENCE_END/>
set,quote,long,valuessetset (9.45e-01)
values (9.95e-03)
add (9.08e-03)
resize (5.37e-03)
clear (3.08e-03)
quote (2.14e-03)
long (1.98e-03)
stop (1.80e-03)
reset (1.68e-03)
%UNK% (1.48e-03)
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
quotequote (7.96e-01)
long (1.17e-01)
%END% (7.63e-02)
%UNK% (1.52e-03)
short (1.37e-03)
value (6.07e-04)
offsets (3.55e-04)
array (3.34e-04)
position (3.30e-04)
down (3.07e-04)
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
long%END% (5.97e-01)
long (3.40e-01)
values (3.80e-02)
quote (1.50e-02)
value (1.44e-03)
%UNK% (7.09e-04)
array (4.17e-04)
only (4.10e-04)
20 (3.50e-04)
short (1.80e-04)
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
values%END% (9.50e-01)
values (3.04e-02)
long (1.04e-02)
value (1.67e-03)
only (6.35e-04)
20 (6.15e-04)
quote (4.05e-04)
array (3.19e-04)
fv (1.72e-04)
%UNK% (1.71e-04)
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
%END%%END% (9.63e-01)
values (2.24e-02)
long (5.04e-03)
value (1.64e-03)
20 (6.62e-04)
only (6.49e-04)
array (2.87e-04)
quote (2.67e-04)
fv (1.89e-04)
endian (1.61e-04)
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
quote
long
values
=
quote
long
values
;
}
<SENTENCE_END/>
set,enum,namessetset (9.90e-01)
enum (3.86e-03)
names (3.04e-03)
get (7.29e-04)
this (3.75e-04)
clear (6.37e-05)
reset (5.81e-05)
touch (4.86e-05)
initialize (4.15e-05)
invalidate (1.78e-05)
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
enumenum (9.78e-01)
names (1.80e-02)
get (3.23e-03)
set (5.25e-05)
%START% (1.78e-05)
motor (9.57e-06)
ratio (6.74e-06)
touch (6.25e-06)
mode (5.55e-06)
joint (4.72e-06)
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
namesnames (9.84e-01)
enum (1.34e-02)
%END% (8.16e-04)
mode (9.34e-05)
ratio (7.65e-05)
enabled (6.14e-05)
motor (4.16e-05)
torque (3.56e-05)
height (3.39e-05)
damping (3.03e-05)
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
%END%%END% (9.10e-01)
names (3.89e-02)
value (4.54e-03)
only (1.85e-03)
height (1.53e-03)
20 (1.53e-03)
mode (1.37e-03)
enabled (1.23e-03)
width (1.16e-03)
ratio (1.11e-03)
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
enum
names
=
enum
names
;
}
<SENTENCE_END/>
add,class,tagaddset (3.90e-01)
initialize (1.73e-01)
create (7.33e-02)
on (5.96e-02)
add (5.92e-02)
get (4.11e-02)
put (2.32e-02)
to (1.79e-02)
new (1.18e-02)
run (1.01e-02)
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
class%END% (6.14e-01)
tag (3.81e-02)
to (2.46e-02)
class (1.99e-02)
view (1.76e-02)
type (1.50e-02)
name (1.46e-02)
instance (1.32e-02)
on (1.18e-02)
double (8.51e-03)
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
tag%END% (9.12e-01)
tag (1.46e-02)
class (1.23e-02)
to (1.16e-02)
type (3.13e-03)
double (1.69e-03)
array (1.68e-03)
buffer (1.36e-03)
string (1.15e-03)
name (1.14e-03)
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
%END%%END% (9.64e-01)
tag (6.12e-03)
class (3.57e-03)
put (3.07e-03)
to (2.03e-03)
type (1.43e-03)
array (7.69e-04)
string (3.59e-04)
buffer (3.37e-04)
all (2.61e-04)
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
tag
to
class
.
put
(
tag
,
type
)
;
class
to
tag
.
put
(
type
,
tag
)
;
}
<SENTENCE_END/>
get,classgetget (9.83e-01)
to (4.71e-03)
tag (1.84e-03)
return (1.12e-03)
is (1.00e-03)
instance (7.35e-04)
class (6.22e-04)
obtain (4.87e-04)
new (4.80e-04)
compare (3.86e-04)
<SENTENCE_START>
{
return
tag
to
class
.
get
(
tag
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
tag
to
class
.
get
(
tag
)
;
}
<SENTENCE_END/>
classtag (2.72e-01)
on (2.33e-01)
initialize (4.45e-02)
view (4.23e-02)
instance (2.96e-02)
name (2.67e-02)
notify (1.76e-02)
create (1.59e-02)
to (1.19e-02)
%START% (1.15e-02)
<SENTENCE_START>
{
return
tag
to
class
.
get
(
tag
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
tag
to
class
.
get
(
tag
)
;
}
<SENTENCE_END/>
%END%%END% (6.08e-01)
tag (3.70e-02)
class (2.78e-02)
to (2.11e-02)
name (1.24e-02)
%UNK% (1.06e-02)
double (8.72e-03)
buffer (8.23e-03)
on (6.74e-03)
changed (6.64e-03)
<SENTENCE_START>
{
return
tag
to
class
.
get
(
tag
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
tag
to
class
.
get
(
tag
)
;
}
<SENTENCE_END/>
get,taggetget (9.89e-01)
to (2.52e-03)
tag (9.34e-04)
is (8.42e-04)
obtain (7.14e-04)
class (6.32e-04)
return (4.62e-04)
instance (3.30e-04)
type (2.91e-04)
set (2.74e-04)
<SENTENCE_START>
{
return
class
to
tag
.
get
(
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
class
to
tag
.
get
(
type
)
;
}
<SENTENCE_END/>
tagclass (2.70e-01)
%END% (1.12e-01)
type (7.18e-02)
instance (6.63e-02)
name (3.11e-02)
on (2.99e-02)
declaring (1.85e-02)
to (1.80e-02)
get (1.57e-02)
tag (1.36e-02)
<SENTENCE_START>
{
return
class
to
tag
.
get
(
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
class
to
tag
.
get
(
type
)
;
}
<SENTENCE_END/>
%END%%END% (7.26e-01)
class (5.87e-02)
type (4.26e-02)
tag (2.34e-02)
to (5.92e-03)
%UNK% (4.76e-03)
name (3.85e-03)
buffer (3.58e-03)
string (3.51e-03)
object (3.50e-03)
<SENTENCE_START>
{
return
class
to
tag
.
get
(
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
class
to
tag
.
get
(
type
)
;
}
<SENTENCE_END/>
set,type,namesetset (9.88e-01)
type (2.94e-03)
name (2.54e-03)
get (8.79e-04)
this (5.10e-04)
add (3.35e-04)
clear (3.35e-04)
obtain (2.09e-04)
reset (2.04e-04)
load (1.81e-04)
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
typetype (9.79e-01)
name (1.97e-02)
%END% (1.95e-04)
get (1.75e-04)
attribute (3.17e-05)
declaring (1.79e-05)
declared (1.29e-05)
data (1.11e-05)
drawing (7.00e-06)
types (6.14e-06)
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
namename (6.83e-01)
%END% (2.67e-01)
type (4.05e-02)
data (3.41e-04)
value (2.77e-04)
attribute (1.25e-04)
2 (1.22e-04)
file (1.20e-04)
array (1.11e-04)
height (1.02e-04)
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
%END%%END% (9.66e-01)
name (2.37e-02)
value (1.07e-03)
type (7.27e-04)
20 (4.64e-04)
fv (2.90e-04)
2 (2.57e-04)
only (2.33e-04)
array (2.16e-04)
file (2.06e-04)
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
type
name
=
type
name
;
}
<SENTENCE_END/>
set,default,serializerset%END% (2.88e-01)
main (1.92e-01)
setup (7.94e-02)
reset (7.29e-02)
replace (4.47e-02)
create (2.90e-02)
test (2.60e-02)
default (2.58e-02)
init (2.28e-02)
set (2.10e-02)
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
default%END% (9.72e-01)
default (1.69e-02)
serializer (6.81e-03)
parallel (2.94e-03)
fully (2.78e-04)
fv (8.55e-05)
valid (5.29e-05)
sequence (4.84e-05)
reserve (4.75e-05)
test (3.99e-05)
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
serializer%END% (9.82e-01)
serializer (1.65e-02)
default (6.09e-04)
fv (7.86e-05)
valid (7.12e-05)
fully (3.45e-05)
parallel (3.28e-05)
moved (2.75e-05)
and (2.69e-05)
at (2.67e-05)
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
%END%%END% (9.90e-01)
serializer (8.42e-03)
default (1.60e-04)
valid (9.48e-05)
fv (6.73e-05)
%UNK% (4.44e-05)
moved (3.04e-05)
at (2.99e-05)
edge (2.93e-05)
and (2.57e-05)
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
default
serializer
=
default
serializer
;
}
<SENTENCE_END/>
set,serializerset%END% (5.00e-01)
parallel (2.06e-01)
fully (3.92e-02)
slice (3.74e-02)
to (3.58e-02)
sequence (1.97e-02)
reserve (1.77e-02)
prj (8.59e-03)
serializer (8.11e-03)
sort (7.66e-03)
<SENTENCE_START>
{
class
to
serializer
.
put
(
type
,
serializer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
to
serializer
.
put
(
type
,
serializer
)
;
}
<SENTENCE_END/>
serializer%END% (9.93e-01)
fully (9.71e-04)
fv (6.23e-04)
serializer (4.97e-04)
to (2.91e-04)
locations (2.45e-04)
array (2.16e-04)
parallel (1.86e-04)
sequence (1.62e-04)
iv (1.60e-04)
<SENTENCE_START>
{
class
to
serializer
.
put
(
type
,
serializer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
to
serializer
.
put
(
type
,
serializer
)
;
}
<SENTENCE_END/>
%END%%END% (9.93e-01)
serializer (7.25e-04)
fv (4.66e-04)
fully (4.19e-04)
array (3.38e-04)
to (2.37e-04)
locations (1.88e-04)
type (1.71e-04)
all (1.62e-04)
performed (1.40e-04)
<SENTENCE_START>
{
class
to
serializer
.
put
(
type
,
serializer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
to
serializer
.
put
(
type
,
serializer
)
;
}
<SENTENCE_END/>
get,serializergetto (5.67e-01)
%END% (7.33e-02)
compare (4.15e-02)
read (2.27e-02)
%UNK% (1.97e-02)
register (1.13e-02)
close (9.57e-03)
%START% (6.66e-03)
is (6.33e-03)
sequence (6.01e-03)
<SENTENCE_START>
{
return
class
to
serializer
.
get
(
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
class
to
serializer
.
get
(
type
)
;
}
<SENTENCE_END/>
serializer%END% (9.78e-01)
type (2.78e-03)
serializer (1.56e-03)
class (9.69e-04)
pixels (9.20e-04)
fv (8.71e-04)
fully (7.95e-04)
to (7.83e-04)
iv (5.58e-04)
sequence (3.89e-04)
<SENTENCE_START>
{
return
class
to
serializer
.
get
(
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
class
to
serializer
.
get
(
type
)
;
}
<SENTENCE_END/>
%END%%END% (9.81e-01)
type (3.00e-03)
serializer (1.67e-03)
class (1.05e-03)
get (7.72e-04)
to (4.80e-04)
fv (4.20e-04)
string (2.92e-04)
%UNK% (2.87e-04)
array (2.81e-04)
<SENTENCE_START>
{
return
class
to
serializer
.
get
(
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
class
to
serializer
.
get
(
type
)
;
}
<SENTENCE_END/>
set,use,prototypessetset (9.63e-01)
init (1.54e-02)
use (4.55e-03)
%UNK% (2.63e-03)
prototypes (2.24e-03)
stop (1.04e-03)
cancel (1.01e-03)
reset (9.98e-04)
this (6.24e-04)
translate (5.35e-04)
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
useuse (9.92e-01)
%UNK% (3.21e-03)
prototypes (1.44e-03)
init (1.42e-03)
%END% (3.80e-04)
lock (1.45e-04)
font (1.22e-04)
normal (6.06e-05)
locked (5.42e-05)
integer (4.90e-05)
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
prototypesprototypes (8.43e-01)
%END% (1.02e-01)
use (4.30e-02)
%UNK% (3.79e-03)
title (2.05e-04)
positions (2.01e-04)
font (1.77e-04)
locked (1.45e-04)
from (1.22e-04)
mode (1.19e-04)
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
%END%%END% (8.33e-01)
prototypes (1.48e-01)
%UNK% (1.46e-03)
use (1.06e-03)
value (6.49e-04)
20 (6.19e-04)
fv (6.08e-04)
title (5.21e-04)
positions (4.07e-04)
2 (3.60e-04)
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
use
prototypes
=
use
prototypes
;
}
<SENTENCE_END/>
set,element,typesetget (9.31e-01)
load (1.14e-02)
parse (9.55e-03)
fields (5.35e-03)
generate (3.43e-03)
metadata (2.35e-03)
field (1.83e-03)
is (1.81e-03)
find (1.68e-03)
declared (1.41e-03)
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
elementfields (5.07e-01)
get (1.63e-01)
declared (3.86e-02)
element (2.72e-02)
%END% (2.56e-02)
type (2.15e-02)
metadata (1.82e-02)
field (1.08e-02)
%UNK% (9.43e-03)
name (4.35e-03)
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
typefields (4.85e-01)
%END% (2.26e-01)
type (7.45e-02)
get (1.32e-02)
%UNK% (1.18e-02)
declared (1.03e-02)
field (9.52e-03)
metadata (9.16e-03)
name (8.09e-03)
element (7.65e-03)
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
%END%%END% (8.79e-01)
fields (1.04e-02)
%UNK% (9.62e-03)
type (7.85e-03)
declared (5.38e-03)
string (4.97e-03)
get (3.79e-03)
name (3.75e-03)
element (2.10e-03)
metadata (1.98e-03)
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
metadata
.
element
type
=
element
type
;
}
<SENTENCE_END/>
get,fieldsgetget (6.54e-01)
is (6.21e-02)
to (1.87e-02)
%UNK% (1.80e-02)
find (1.35e-02)
with (1.24e-02)
declared (9.54e-03)
%END% (7.92e-03)
add (6.16e-03)
generate (6.02e-03)
<SENTENCE_START>
{
ordered
map
<
string
,
field
metadata
>
fields
=
type
to
fields
.
get
(
type
)
;
if
(
fields
!=
null
)
return
fields
;
array
<
class
>
class
hierarchy
=
new
array
(
)
;
class
next
class
=
type
;
while
(
next
class
!=
object
.
class
)
{
class
hierarchy
.
add
(
next
class
)
;
next
class
=
next
class
.
get
superclass
(
)
;
}
array
list
<
field
>
all
fields
=
new
array
list
(
)
;
for
(
int
i
=
class
hierarchy
.
size
-
1
;
i
>=
0
;
i
--
)
collections
.
add
all
(
all
fields
,
class
reflection
.
get
declared
fields
(
class
hierarchy
.
get
(
i
)
)
)
;
ordered
map
<
string
,
field
metadata
>
name
to
field
=
new
ordered
map
(
all
fields
.
size
(
)
)
;
for
(
int
i
=
0
,
n
=
all
fields
.
size
(
)
;
i
<
n
;
i
++
)
{
field
field
=
all
fields
.
get
(
i
)
;
if
(
field
.
is
transient
(
)
)
continue
;
if
(
field
.
is
static
(
)
)
continue
;
if
(
field
.
is
synthetic
(
)
)
continue
;
if
(
!
field
.
is
accessible
(
)
)
{
try
{
field
.
set
accessible
(
true
)
;
}
catch
(
access
control
exception
ex
)
{
continue
;
}
}
name
to
field
.
put
(
field
.
get
name
(
)
,
new
field
metadata
(
field
)
)
;
}
type
to
fields
.
put
(
type
,
name
to
field
)
;
return
name
to
field
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
ordered
map
<
string
,
field
metadata
>
fields
=
type
to
fields
.
get
(
type
)
;
if
(
fields
!=
null
)
return
fields
;
array
<
class
>
class
hierarchy
=
new
array
(
)
;
class
next
class
=
type
;
while
(
next
class
!=
object
.
class
)
{
class
hierarchy
.
add
(
next
class
)
;
next
class
=
next
class
.
get
superclass
(
)
;
}
array
list
<
field
>
all
fields
=
new
array
list
(
)
;
for
(
int
i
=
class
hierarchy
.
size
-
1
;
i
>=
0
;
i
--
)
collections
.
add
all
(
all
fields
,
class
reflection
.
get
declared
fields
(
class
hierarchy
.
get
(
i
)
)
)
;
ordered
map
<
string
,
field
metadata
>
name
to
field
=
new
ordered
map
(
all
fields
.
size
(
)
)
;
for
(
int
i
=
0
,
n
=
all
fields
.
size
(
)
;
i
<
n
;
i
++
)
{
field
field
=
all
fields
.
get
(
i
)
;
if
(
field
.
is
transient
(
)
)
continue
;
if
(
field
.
is
static
(
)
)
continue
;
if
(
field
.
is
synthetic
(
)
)
continue
;
if
(
!
field
.
is
accessible
(
)
)
{
try
{
field
.
set
accessible
(
true
)
;
}
catch
(
access
control
exception
ex
)
{
continue
;
}
}
name
to
field
.
put
(
field
.
get
name
(
)
,
new
field
metadata
(
field
)
)
;
}
type
to
fields
.
put
(
type
,
name
to
field
)
;
return
name
to
field
;
}
<SENTENCE_END/>
fields%END% (3.23e-01)
fields (1.33e-01)
get (4.55e-02)
declared (4.08e-02)
field (3.16e-02)
to (3.01e-02)
all (2.43e-02)
%UNK% (1.65e-02)
class (1.56e-02)
is (9.45e-03)
<SENTENCE_START>
{
ordered
map
<
string
,
field
metadata
>
fields
=
type
to
fields
.
get
(
type
)
;
if
(
fields
!=
null
)
return
fields
;
array
<
class
>
class
hierarchy
=
new
array
(
)
;
class
next
class
=
type
;
while
(
next
class
!=
object
.
class
)
{
class
hierarchy
.
add
(
next
class
)
;
next
class
=
next
class
.
get
superclass
(
)
;
}
array
list
<
field
>
all
fields
=
new
array
list
(
)
;
for
(
int
i
=
class
hierarchy
.
size
-
1
;
i
>=
0
;
i
--
)
collections
.
add
all
(
all
fields
,
class
reflection
.
get
declared
fields
(
class
hierarchy
.
get
(
i
)
)
)
;
ordered
map
<
string
,
field
metadata
>
name
to
field
=
new
ordered
map
(
all
fields
.
size
(
)
)
;
for
(
int
i
=
0
,
n
=
all
fields
.
size
(
)
;
i
<
n
;
i
++
)
{
field
field
=
all
fields
.
get
(
i
)
;
if
(
field
.
is
transient
(
)
)
continue
;
if
(
field
.
is
static
(
)
)
continue
;
if
(
field
.
is
synthetic
(
)
)
continue
;
if
(
!
field
.
is
accessible
(
)
)
{
try
{
field
.
set
accessible
(
true
)
;
}
catch
(
access
control
exception
ex
)
{
continue
;
}
}
name
to
field
.
put
(
field
.
get
name
(
)
,
new
field
metadata
(
field
)
)
;
}
type
to
fields
.
put
(
type
,
name
to
field
)
;
return
name
to
field
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
ordered
map
<
string
,
field
metadata
>
fields
=
type
to
fields
.
get
(
type
)
;
if
(
fields
!=
null
)
return
fields
;
array
<
class
>
class
hierarchy
=
new
array
(
)
;
class
next
class
=
type
;
while
(
next
class
!=
object
.
class
)
{
class
hierarchy
.
add
(
next
class
)
;
next
class
=
next
class
.
get
superclass
(
)
;
}
array
list
<
field
>
all
fields
=
new
array
list
(
)
;
for
(
int
i
=
class
hierarchy
.
size
-
1
;
i
>=
0
;
i
--
)
collections
.
add
all
(
all
fields
,
class
reflection
.
get
declared
fields
(
class
hierarchy
.
get
(
i
)
)
)
;
ordered
map
<
string
,
field
metadata
>
name
to
field
=
new
ordered
map
(
all
fields
.
size
(
)
)
;
for
(
int
i
=
0
,
n
=
all
fields
.
size
(
)
;
i
<
n
;
i
++
)
{
field
field
=
all
fields
.
get
(
i
)
;
if
(
field
.
is
transient
(
)
)
continue
;
if
(
field
.
is
static
(
)
)
continue
;
if
(
field
.
is
synthetic
(
)
)
continue
;
if
(
!
field
.
is
accessible
(
)
)
{
try
{
field
.
set
accessible
(
true
)
;
}
catch
(
access
control
exception
ex
)
{
continue
;
}
}
name
to
field
.
put
(
field
.
get
name
(
)
,
new
field
metadata
(
field
)
)
;
}
type
to
fields
.
put
(
type
,
name
to
field
)
;
return
name
to
field
;
}
<SENTENCE_END/>
%END%%END% (4.61e-01)
fields (9.59e-02)
field (2.88e-02)
to (2.03e-02)
class (1.94e-02)
all (1.42e-02)
get (1.24e-02)
%UNK% (9.72e-03)
array (9.57e-03)
string (7.62e-03)
<SENTENCE_START>
{
ordered
map
<
string
,
field
metadata
>
fields
=
type
to
fields
.
get
(
type
)
;
if
(
fields
!=
null
)
return
fields
;
array
<
class
>
class
hierarchy
=
new
array
(
)
;
class
next
class
=
type
;
while
(
next
class
!=
object
.
class
)
{
class
hierarchy
.
add
(
next
class
)
;
next
class
=
next
class
.
get
superclass
(
)
;
}
array
list
<
field
>
all
fields
=
new
array
list
(
)
;
for
(
int
i
=
class
hierarchy
.
size
-
1
;
i
>=
0
;
i
--
)
collections
.
add
all
(
all
fields
,
class
reflection
.
get
declared
fields
(
class
hierarchy
.
get
(
i
)
)
)
;
ordered
map
<
string
,
field
metadata
>
name
to
field
=
new
ordered
map
(
all
fields
.
size
(
)
)
;
for
(
int
i
=
0
,
n
=
all
fields
.
size
(
)
;
i
<
n
;
i
++
)
{
field
field
=
all
fields
.
get
(
i
)
;
if
(
field
.
is
transient
(
)
)
continue
;
if
(
field
.
is
static
(
)
)
continue
;
if
(
field
.
is
synthetic
(
)
)
continue
;
if
(
!
field
.
is
accessible
(
)
)
{
try
{
field
.
set
accessible
(
true
)
;
}
catch
(
access
control
exception
ex
)
{
continue
;
}
}
name
to
field
.
put
(
field
.
get
name
(
)
,
new
field
metadata
(
field
)
)
;
}
type
to
fields
.
put
(
type
,
name
to
field
)
;
return
name
to
field
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
ordered
map
<
string
,
field
metadata
>
fields
=
type
to
fields
.
get
(
type
)
;
if
(
fields
!=
null
)
return
fields
;
array
<
class
>
class
hierarchy
=
new
array
(
)
;
class
next
class
=
type
;
while
(
next
class
!=
object
.
class
)
{
class
hierarchy
.
add
(
next
class
)
;
next
class
=
next
class
.
get
superclass
(
)
;
}
array
list
<
field
>
all
fields
=
new
array
list
(
)
;
for
(
int
i
=
class
hierarchy
.
size
-
1
;
i
>=
0
;
i
--
)
collections
.
add
all
(
all
fields
,
class
reflection
.
get
declared
fields
(
class
hierarchy
.
get
(
i
)
)
)
;
ordered
map
<
string
,
field
metadata
>
name
to
field
=
new
ordered
map
(
all
fields
.
size
(
)
)
;
for
(
int
i
=
0
,
n
=
all
fields
.
size
(
)
;
i
<
n
;
i
++
)
{
field
field
=
all
fields
.
get
(
i
)
;
if
(
field
.
is
transient
(
)
)
continue
;
if
(
field
.
is
static
(
)
)
continue
;
if
(
field
.
is
synthetic
(
)
)
continue
;
if
(
!
field
.
is
accessible
(
)
)
{
try
{
field
.
set
accessible
(
true
)
;
}
catch
(
access
control
exception
ex
)
{
continue
;
}
}
name
to
field
.
put
(
field
.
get
name
(
)
,
new
field
metadata
(
field
)
)
;
}
type
to
fields
.
put
(
type
,
name
to
field
)
;
return
name
to
field
;
}
<SENTENCE_END/>
to,jsontoget (3.40e-01)
object (1.77e-01)
instance (7.03e-02)
with (3.78e-02)
obtain (2.87e-02)
new (2.48e-02)
to (1.98e-02)
%UNK% (1.85e-02)
is (1.75e-02)
append (1.51e-02)
<SENTENCE_START>
{
return
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
(
class
)
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
(
class
)
null
)
;
}
<SENTENCE_END/>
json%END% (5.78e-01)
object (3.25e-01)
class (2.18e-02)
instance (1.13e-02)
by (9.00e-03)
value (4.62e-03)
with (3.72e-03)
string (2.26e-03)
null (2.06e-03)
of (1.47e-03)
<SENTENCE_START>
{
return
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
(
class
)
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
(
class
)
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
object (1.65e-02)
class (1.01e-02)
by (1.52e-03)
get (9.54e-04)
null (9.25e-04)
value (9.16e-04)
string (5.57e-04)
all (3.83e-04)
instance (2.90e-04)
<SENTENCE_START>
{
return
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
(
class
)
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
(
class
)
null
)
;
}
<SENTENCE_END/>
to,jsonto%UNK% (1.54e-01)
get (1.12e-01)
read (4.56e-02)
instance (4.11e-02)
object (4.00e-02)
append (3.45e-02)
new (2.90e-02)
obtain (2.59e-02)
is (2.58e-02)
register (2.53e-02)
<SENTENCE_START>
{
return
%SELF%
(
object
,
known
type
,
(
class
)
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
known
type
,
(
class
)
null
)
;
}
<SENTENCE_END/>
json%END% (8.57e-01)
object (5.71e-02)
by (1.02e-02)
class (9.08e-03)
%UNK% (7.23e-03)
type (6.26e-03)
string (3.02e-03)
instance (2.86e-03)
value (2.07e-03)
array (2.05e-03)
<SENTENCE_START>
{
return
%SELF%
(
object
,
known
type
,
(
class
)
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
known
type
,
(
class
)
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.85e-01)
type (2.09e-03)
object (1.61e-03)
class (6.65e-04)
by (5.29e-04)
all (4.62e-04)
value (4.55e-04)
%UNK% (3.87e-04)
string (3.65e-04)
known (3.53e-04)
<SENTENCE_START>
{
return
%SELF%
(
object
,
known
type
,
(
class
)
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
known
type
,
(
class
)
null
)
;
}
<SENTENCE_END/>
to,jsontonew (3.66e-01)
to (1.99e-01)
string (1.21e-01)
buffer (4.24e-02)
%UNK% (3.07e-02)
write (1.77e-02)
get (1.74e-02)
create (1.17e-02)
instance (1.07e-02)
with (9.20e-03)
<SENTENCE_START>
{
string
writer
buffer
=
new
string
writer
(
)
;
%SELF%
(
object
,
known
type
,
element
type
,
buffer
)
;
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
writer
buffer
=
new
string
writer
(
)
;
%SELF%
(
object
,
known
type
,
element
type
,
buffer
)
;
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
json%END% (6.09e-01)
string (1.59e-01)
to (4.08e-02)
buffer (2.29e-02)
object (1.73e-02)
%UNK% (1.01e-02)
new (9.31e-03)
element (7.44e-03)
type (6.54e-03)
status (6.52e-03)
<SENTENCE_START>
{
string
writer
buffer
=
new
string
writer
(
)
;
%SELF%
(
object
,
known
type
,
element
type
,
buffer
)
;
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
writer
buffer
=
new
string
writer
(
)
;
%SELF%
(
object
,
known
type
,
element
type
,
buffer
)
;
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
%END%%END% (8.61e-01)
string (6.16e-02)
to (9.89e-03)
buffer (7.91e-03)
type (5.82e-03)
object (3.50e-03)
status (2.98e-03)
element (2.40e-03)
array (1.97e-03)
%UNK% (1.93e-03)
<SENTENCE_START>
{
string
writer
buffer
=
new
string
writer
(
)
;
%SELF%
(
object
,
known
type
,
element
type
,
buffer
)
;
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
writer
buffer
=
new
string
writer
(
)
;
%SELF%
(
object
,
known
type
,
element
type
,
buffer
)
;
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
to,jsontoobject (3.95e-01)
get (9.07e-02)
instance (4.01e-02)
obtain (2.91e-02)
%UNK% (2.39e-02)
free (2.37e-02)
value (2.35e-02)
with (2.34e-02)
new (1.67e-02)
%END% (1.59e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
file
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
file
)
;
}
<SENTENCE_END/>
jsonobject (5.00e-01)
%END% (4.54e-01)
value (4.88e-03)
file (4.57e-03)
class (4.43e-03)
instance (3.24e-03)
by (2.90e-03)
null (1.57e-03)
with (1.37e-03)
string (1.12e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
file
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
file
)
;
}
<SENTENCE_END/>
%END%%END% (9.56e-01)
object (1.53e-02)
class (1.07e-02)
value (1.28e-03)
null (1.12e-03)
by (8.30e-04)
get (8.27e-04)
file (7.69e-04)
string (4.34e-04)
all (2.97e-04)
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
file
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
file
)
;
}
<SENTENCE_END/>
to,jsonto%UNK% (1.82e-01)
object (1.30e-01)
free (3.75e-02)
color (2.79e-02)
action (2.62e-02)
instance (2.59e-02)
obtain (2.57e-02)
append (2.23e-02)
add (1.90e-02)
check (1.90e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
file
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
file
)
;
}
<SENTENCE_END/>
json%END% (8.97e-01)
object (4.15e-02)
%UNK% (6.93e-03)
by (5.92e-03)
type (5.88e-03)
file (4.66e-03)
value (2.53e-03)
string (2.24e-03)
animation (1.80e-03)
array (1.52e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
file
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
file
)
;
}
<SENTENCE_END/>
%END%%END% (9.86e-01)
type (1.34e-03)
file (1.29e-03)
object (1.25e-03)
value (8.61e-04)
%UNK% (5.74e-04)
known (5.06e-04)
string (3.64e-04)
array (3.36e-04)
null (3.32e-04)
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
file
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
file
)
;
}
<SENTENCE_END/>
to,jsontoparse (3.90e-01)
write (2.09e-01)
load (7.74e-02)
read (4.46e-02)
save (1.87e-02)
create (1.87e-02)
close (1.32e-02)
reader (1.22e-02)
flush (1.17e-02)
writer (1.05e-02)
<SENTENCE_START>
{
writer
writer
=
null
;
try
{
writer
=
file
.
writer
(
false
,
"UTF-8"
)
;
%SELF%
(
object
,
known
type
,
element
type
,
writer
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error writing file: "
+
file
,
ex
)
;
}
finally
{
stream
utils
.
close
quietly
(
writer
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
writer
writer
=
null
;
try
{
writer
=
file
.
writer
(
false
,
"UTF-8"
)
;
%SELF%
(
object
,
known
type
,
element
type
,
writer
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error writing file: "
+
file
,
ex
)
;
}
finally
{
stream
utils
.
close
quietly
(
writer
)
;
}
}
<SENTENCE_END/>
json%END% (8.97e-01)
write (8.71e-03)
file (7.17e-03)
%UNK% (5.70e-03)
parse (4.87e-03)
directory (4.13e-03)
string (2.76e-03)
writer (2.58e-03)
bytes (2.15e-03)
save (2.10e-03)
<SENTENCE_START>
{
writer
writer
=
null
;
try
{
writer
=
file
.
writer
(
false
,
"UTF-8"
)
;
%SELF%
(
object
,
known
type
,
element
type
,
writer
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error writing file: "
+
file
,
ex
)
;
}
finally
{
stream
utils
.
close
quietly
(
writer
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
writer
writer
=
null
;
try
{
writer
=
file
.
writer
(
false
,
"UTF-8"
)
;
%SELF%
(
object
,
known
type
,
element
type
,
writer
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error writing file: "
+
file
,
ex
)
;
}
finally
{
stream
utils
.
close
quietly
(
writer
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.72e-01)
file (1.93e-03)
writer (1.71e-03)
type (9.46e-04)
directory (9.40e-04)
exception (8.59e-04)
string (8.54e-04)
%UNK% (7.33e-04)
quietly (6.69e-04)
write (5.66e-04)
<SENTENCE_START>
{
writer
writer
=
null
;
try
{
writer
=
file
.
writer
(
false
,
"UTF-8"
)
;
%SELF%
(
object
,
known
type
,
element
type
,
writer
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error writing file: "
+
file
,
ex
)
;
}
finally
{
stream
utils
.
close
quietly
(
writer
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
writer
writer
=
null
;
try
{
writer
=
file
.
writer
(
false
,
"UTF-8"
)
;
%SELF%
(
object
,
known
type
,
element
type
,
writer
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error writing file: "
+
file
,
ex
)
;
}
finally
{
stream
utils
.
close
quietly
(
writer
)
;
}
}
<SENTENCE_END/>
to,jsontoobject (3.36e-01)
get (7.67e-02)
instance (4.15e-02)
obtain (3.09e-02)
free (2.65e-02)
%UNK% (2.43e-02)
value (2.39e-02)
append (2.18e-02)
register (2.11e-02)
%END% (2.07e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
writer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
writer
)
;
}
<SENTENCE_END/>
json%END% (6.21e-01)
object (3.38e-01)
value (5.44e-03)
by (3.33e-03)
instance (3.28e-03)
class (2.36e-03)
writer (2.20e-03)
null (1.40e-03)
with (9.78e-04)
string (9.72e-04)
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
writer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
writer
)
;
}
<SENTENCE_END/>
%END%%END% (9.70e-01)
object (1.08e-02)
class (6.06e-03)
value (1.06e-03)
null (8.69e-04)
by (6.79e-04)
get (6.31e-04)
writer (4.97e-04)
all (3.41e-04)
string (3.00e-04)
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
writer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
object
==
null
?
null
:
object
.
get
class
(
)
,
null
,
writer
)
;
}
<SENTENCE_END/>
to,jsonto%UNK% (1.47e-01)
object (1.38e-01)
free (3.39e-02)
instance (2.86e-02)
action (2.83e-02)
obtain (2.72e-02)
color (2.69e-02)
append (2.55e-02)
check (2.28e-02)
register (1.94e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
writer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
writer
)
;
}
<SENTENCE_END/>
json%END% (9.32e-01)
object (1.78e-02)
type (6.32e-03)
by (5.01e-03)
%UNK% (4.31e-03)
value (1.89e-03)
animation (1.67e-03)
all (1.46e-03)
array (1.24e-03)
string (1.11e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
writer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
writer
)
;
}
<SENTENCE_END/>
%END%%END% (9.89e-01)
type (9.44e-04)
object (9.23e-04)
value (7.03e-04)
all (4.13e-04)
%UNK% (3.76e-04)
known (3.18e-04)
array (3.08e-04)
writer (2.67e-04)
null (2.51e-04)
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
writer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
known
type
,
null
,
writer
)
;
}
<SENTENCE_END/>
to,jsontoset (3.14e-01)
write (2.33e-01)
flush (5.21e-02)
load (2.89e-02)
%END% (2.38e-02)
create (2.31e-02)
init (2.10e-02)
%UNK% (2.09e-02)
reset (2.09e-02)
parse (2.05e-02)
<SENTENCE_START>
{
set
writer
(
writer
)
;
try
{
write
value
(
object
,
known
type
,
element
type
)
;
}
finally
{
stream
utils
.
close
quietly
(
this
.
writer
)
;
this
.
writer
=
null
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
set
writer
(
writer
)
;
try
{
write
value
(
object
,
known
type
,
element
type
)
;
}
finally
{
stream
utils
.
close
quietly
(
this
.
writer
)
;
this
.
writer
=
null
;
}
}
<SENTENCE_END/>
json%END% (9.31e-01)
writer (2.16e-02)
type (4.32e-03)
object (3.81e-03)
value (2.89e-03)
element (1.77e-03)
stream (1.48e-03)
write (1.48e-03)
known (1.26e-03)
attribute (1.07e-03)
<SENTENCE_START>
{
set
writer
(
writer
)
;
try
{
write
value
(
object
,
known
type
,
element
type
)
;
}
finally
{
stream
utils
.
close
quietly
(
this
.
writer
)
;
this
.
writer
=
null
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
set
writer
(
writer
)
;
try
{
write
value
(
object
,
known
type
,
element
type
)
;
}
finally
{
stream
utils
.
close
quietly
(
this
.
writer
)
;
this
.
writer
=
null
;
}
}
<SENTENCE_END/>
%END%%END% (9.79e-01)
writer (3.24e-03)
type (2.01e-03)
object (1.56e-03)
value (9.79e-04)
known (8.89e-04)
quietly (7.11e-04)
element (6.77e-04)
write (5.07e-04)
stream (2.59e-04)
<SENTENCE_START>
{
set
writer
(
writer
)
;
try
{
write
value
(
object
,
known
type
,
element
type
)
;
}
finally
{
stream
utils
.
close
quietly
(
this
.
writer
)
;
this
.
writer
=
null
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
set
writer
(
writer
)
;
try
{
write
value
(
object
,
known
type
,
element
type
)
;
}
finally
{
stream
utils
.
close
quietly
(
this
.
writer
)
;
this
.
writer
=
null
;
}
}
<SENTENCE_END/>
set,writersetwrite (2.42e-01)
check (1.26e-01)
read (7.97e-02)
init (5.74e-02)
%UNK% (5.01e-02)
json (4.72e-02)
writer (4.34e-02)
parse (3.85e-02)
set (2.12e-02)
flush (2.01e-02)
<SENTENCE_START>
{
if
(
!
(
writer
instanceof
json
writer
)
)
writer
=
new
json
writer
(
writer
)
;
this
.
writer
=
(
json
writer
)
writer
;
this
.
writer
.
set
output
type
(
output
type
)
;
this
.
writer
.
set
quote
long
values
(
quote
long
values
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
!
(
writer
instanceof
json
writer
)
)
writer
=
new
json
writer
(
writer
)
;
this
.
writer
=
(
json
writer
)
writer
;
this
.
writer
.
set
output
type
(
output
type
)
;
this
.
writer
.
set
quote
long
values
(
quote
long
values
)
;
}
<SENTENCE_END/>
writer%END% (8.68e-01)
writer (1.28e-02)
attribute (9.49e-03)
write (9.24e-03)
%UNK% (8.05e-03)
flush (5.08e-03)
output (4.16e-03)
file (4.05e-03)
type (4.02e-03)
set (3.39e-03)
<SENTENCE_START>
{
if
(
!
(
writer
instanceof
json
writer
)
)
writer
=
new
json
writer
(
writer
)
;
this
.
writer
=
(
json
writer
)
writer
;
this
.
writer
.
set
output
type
(
output
type
)
;
this
.
writer
.
set
quote
long
values
(
quote
long
values
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
!
(
writer
instanceof
json
writer
)
)
writer
=
new
json
writer
(
writer
)
;
this
.
writer
=
(
json
writer
)
writer
;
this
.
writer
.
set
output
type
(
output
type
)
;
this
.
writer
.
set
quote
long
values
(
quote
long
values
)
;
}
<SENTENCE_END/>
%END%%END% (9.31e-01)
writer (5.06e-03)
attribute (4.59e-03)
type (4.27e-03)
%UNK% (3.28e-03)
write (2.88e-03)
long (2.84e-03)
values (2.79e-03)
flush (1.96e-03)
output (1.91e-03)
<SENTENCE_START>
{
if
(
!
(
writer
instanceof
json
writer
)
)
writer
=
new
json
writer
(
writer
)
;
this
.
writer
=
(
json
writer
)
writer
;
this
.
writer
.
set
output
type
(
output
type
)
;
this
.
writer
.
set
quote
long
values
(
quote
long
values
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
!
(
writer
instanceof
json
writer
)
)
writer
=
new
json
writer
(
writer
)
;
this
.
writer
=
(
json
writer
)
writer
;
this
.
writer
.
set
output
type
(
output
type
)
;
this
.
writer
.
set
quote
long
values
(
quote
long
values
)
;
}
<SENTENCE_END/>
get,writergetget (8.33e-01)
is (7.94e-02)
protected (2.40e-02)
list (8.56e-03)
length (7.45e-03)
needs (5.15e-03)
last (3.85e-03)
iterator (3.60e-03)
name (3.10e-03)
read (2.82e-03)
<SENTENCE_START>
{
return
writer
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
writer
;
}
<SENTENCE_END/>
writerwriter (4.06e-01)
%END% (3.87e-01)
name (2.81e-02)
write (1.66e-02)
flush (1.59e-02)
attribute (1.54e-02)
list (1.47e-02)
file (1.46e-02)
directory (6.41e-03)
type (6.26e-03)
<SENTENCE_START>
{
return
writer
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
writer
;
}
<SENTENCE_END/>
%END%%END% (9.54e-01)
value (3.47e-03)
file (3.21e-03)
writer (1.62e-03)
name (1.59e-03)
20 (1.33e-03)
type (1.23e-03)
array (1.20e-03)
offset (1.17e-03)
%UNK% (8.60e-04)
<SENTENCE_START>
{
return
writer
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
writer
;
}
<SENTENCE_END/>
write,fieldswriteget (4.31e-01)
%END% (3.90e-02)
%UNK% (3.75e-02)
parse (3.60e-02)
load (2.16e-02)
create (1.87e-02)
is (1.81e-02)
default (1.76e-02)
add (1.49e-02)
read (1.33e-02)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
[
]
default
values
=
get
default
values
(
type
)
;
ordered
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
new
ordered
map
values
<
field
metadata
>
(
fields
)
)
{
field
field
=
metadata
.
field
;
try
{
object
value
=
field
.
get
(
object
)
;
if
(
default
values
!=
null
)
{
object
default
value
=
default
values
[
i
++
]
;
if
(
value
==
null
&&
default
value
==
null
)
continue
;
if
(
value
!=
null
&&
default
value
!=
null
)
{
if
(
value
.
equals
(
default
value
)
)
continue
;
if
(
value
.
get
class
(
)
.
is
array
(
)
&&
default
value
.
get
class
(
)
.
is
array
(
)
)
{
equals
1
[
0
]
=
value
;
equals
2
[
0
]
=
default
value
;
if
(
arrays
.
deep
equals
(
equals
1
,
equals
2
)
)
continue
;
}
}
}
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
field
.
get
name
(
)
)
;
write
value
(
value
,
field
.
get
type
(
)
,
metadata
.
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
[
]
default
values
=
get
default
values
(
type
)
;
ordered
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
new
ordered
map
values
<
field
metadata
>
(
fields
)
)
{
field
field
=
metadata
.
field
;
try
{
object
value
=
field
.
get
(
object
)
;
if
(
default
values
!=
null
)
{
object
default
value
=
default
values
[
i
++
]
;
if
(
value
==
null
&&
default
value
==
null
)
continue
;
if
(
value
!=
null
&&
default
value
!=
null
)
{
if
(
value
.
equals
(
default
value
)
)
continue
;
if
(
value
.
get
class
(
)
.
is
array
(
)
&&
default
value
.
get
class
(
)
.
is
array
(
)
)
{
equals
1
[
0
]
=
value
;
equals
2
[
0
]
=
default
value
;
if
(
arrays
.
deep
equals
(
equals
1
,
equals
2
)
)
continue
;
}
}
}
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
field
.
get
name
(
)
)
;
write
value
(
value
,
field
.
get
type
(
)
,
metadata
.
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
fields%END% (6.00e-01)
get (3.10e-02)
default (1.86e-02)
fields (1.77e-02)
value (1.55e-02)
%UNK% (1.43e-02)
field (1.37e-02)
attribute (7.69e-03)
name (7.22e-03)
type (6.93e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
[
]
default
values
=
get
default
values
(
type
)
;
ordered
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
new
ordered
map
values
<
field
metadata
>
(
fields
)
)
{
field
field
=
metadata
.
field
;
try
{
object
value
=
field
.
get
(
object
)
;
if
(
default
values
!=
null
)
{
object
default
value
=
default
values
[
i
++
]
;
if
(
value
==
null
&&
default
value
==
null
)
continue
;
if
(
value
!=
null
&&
default
value
!=
null
)
{
if
(
value
.
equals
(
default
value
)
)
continue
;
if
(
value
.
get
class
(
)
.
is
array
(
)
&&
default
value
.
get
class
(
)
.
is
array
(
)
)
{
equals
1
[
0
]
=
value
;
equals
2
[
0
]
=
default
value
;
if
(
arrays
.
deep
equals
(
equals
1
,
equals
2
)
)
continue
;
}
}
}
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
field
.
get
name
(
)
)
;
write
value
(
value
,
field
.
get
type
(
)
,
metadata
.
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
[
]
default
values
=
get
default
values
(
type
)
;
ordered
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
new
ordered
map
values
<
field
metadata
>
(
fields
)
)
{
field
field
=
metadata
.
field
;
try
{
object
value
=
field
.
get
(
object
)
;
if
(
default
values
!=
null
)
{
object
default
value
=
default
values
[
i
++
]
;
if
(
value
==
null
&&
default
value
==
null
)
continue
;
if
(
value
!=
null
&&
default
value
!=
null
)
{
if
(
value
.
equals
(
default
value
)
)
continue
;
if
(
value
.
get
class
(
)
.
is
array
(
)
&&
default
value
.
get
class
(
)
.
is
array
(
)
)
{
equals
1
[
0
]
=
value
;
equals
2
[
0
]
=
default
value
;
if
(
arrays
.
deep
equals
(
equals
1
,
equals
2
)
)
continue
;
}
}
}
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
field
.
get
name
(
)
)
;
write
value
(
value
,
field
.
get
type
(
)
,
metadata
.
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
%END%%END% (7.64e-01)
get (1.15e-02)
fields (1.12e-02)
value (9.04e-03)
default (8.61e-03)
field (7.31e-03)
%UNK% (6.39e-03)
type (5.07e-03)
name (4.98e-03)
attribute (4.44e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
[
]
default
values
=
get
default
values
(
type
)
;
ordered
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
new
ordered
map
values
<
field
metadata
>
(
fields
)
)
{
field
field
=
metadata
.
field
;
try
{
object
value
=
field
.
get
(
object
)
;
if
(
default
values
!=
null
)
{
object
default
value
=
default
values
[
i
++
]
;
if
(
value
==
null
&&
default
value
==
null
)
continue
;
if
(
value
!=
null
&&
default
value
!=
null
)
{
if
(
value
.
equals
(
default
value
)
)
continue
;
if
(
value
.
get
class
(
)
.
is
array
(
)
&&
default
value
.
get
class
(
)
.
is
array
(
)
)
{
equals
1
[
0
]
=
value
;
equals
2
[
0
]
=
default
value
;
if
(
arrays
.
deep
equals
(
equals
1
,
equals
2
)
)
continue
;
}
}
}
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
field
.
get
name
(
)
)
;
write
value
(
value
,
field
.
get
type
(
)
,
metadata
.
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
[
]
default
values
=
get
default
values
(
type
)
;
ordered
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
new
ordered
map
values
<
field
metadata
>
(
fields
)
)
{
field
field
=
metadata
.
field
;
try
{
object
value
=
field
.
get
(
object
)
;
if
(
default
values
!=
null
)
{
object
default
value
=
default
values
[
i
++
]
;
if
(
value
==
null
&&
default
value
==
null
)
continue
;
if
(
value
!=
null
&&
default
value
!=
null
)
{
if
(
value
.
equals
(
default
value
)
)
continue
;
if
(
value
.
get
class
(
)
.
is
array
(
)
&&
default
value
.
get
class
(
)
.
is
array
(
)
)
{
equals
1
[
0
]
=
value
;
equals
2
[
0
]
=
default
value
;
if
(
arrays
.
deep
equals
(
equals
1
,
equals
2
)
)
continue
;
}
}
}
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
field
.
get
name
(
)
)
;
write
value
(
value
,
field
.
get
type
(
)
,
metadata
.
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
get,default,valuesgetget (5.59e-01)
parse (3.42e-02)
create (3.12e-02)
add (2.21e-02)
read (2.03e-02)
%UNK% (1.61e-02)
new (1.58e-02)
%END% (1.45e-02)
to (1.27e-02)
load (1.25e-02)
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
default%END% (6.27e-01)
fields (3.37e-02)
get (2.80e-02)
default (1.53e-02)
field (1.35e-02)
to (1.28e-02)
values (1.00e-02)
type (9.40e-03)
instance (9.27e-03)
declared (8.04e-03)
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
values%END% (7.00e-01)
fields (2.94e-02)
values (1.59e-02)
field (1.16e-02)
get (9.87e-03)
type (9.63e-03)
default (9.38e-03)
object (7.91e-03)
to (7.66e-03)
instance (5.72e-03)
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
%END%%END% (8.92e-01)
fields (6.47e-03)
values (3.59e-03)
get (3.35e-03)
field (3.00e-03)
to (2.98e-03)
instance (2.61e-03)
type (2.50e-03)
exception (2.47e-03)
object (2.45e-03)
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
!
use
prototypes
)
return
null
;
if
(
class
to
default
values
.
contains
key
(
type
)
)
return
class
to
default
values
.
get
(
type
)
;
object
object
;
try
{
object
=
new
instance
(
type
)
;
}
catch
(
exception
ex
)
{
class
to
default
values
.
put
(
type
,
null
)
;
return
null
;
}
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
object
[
]
values
=
new
object
[
fields
.
size
]
;
class
to
default
values
.
put
(
type
,
values
)
;
int
i
=
0
;
for
(
field
metadata
metadata
:
fields
.
values
(
)
)
{
field
field
=
metadata
.
field
;
try
{
values
[
i
++
]
=
field
.
get
(
object
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
return
values
;
}
<SENTENCE_END/>
write,fieldwriteadd (1.83e-01)
get (5.33e-02)
append (4.21e-02)
element (3.33e-02)
put (3.09e-02)
new (2.84e-02)
name (2.59e-02)
load (2.47e-02)
object (2.46e-02)
set (2.37e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
)
;
}
<SENTENCE_END/>
field%END% (7.21e-01)
object (1.81e-01)
name (1.21e-02)
value (1.18e-02)
by (1.15e-02)
attribute (7.18e-03)
array (5.17e-03)
all (4.60e-03)
animation (3.42e-03)
string (3.41e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.80e-01)
object (3.15e-03)
value (2.29e-03)
name (1.44e-03)
all (1.21e-03)
array (9.78e-04)
by (8.75e-04)
string (6.05e-04)
animation (4.88e-04)
header (3.85e-04)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
)
;
}
<SENTENCE_END/>
write,fieldwriteelement (2.51e-01)
add (5.78e-02)
get (4.64e-02)
by (3.69e-02)
name (3.67e-02)
object (3.35e-02)
append (2.27e-02)
for (1.96e-02)
number (1.93e-02)
button (1.79e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
)
;
}
<SENTENCE_END/>
fieldobject (4.31e-01)
%END% (3.12e-01)
by (5.53e-02)
element (5.25e-02)
type (4.30e-02)
name (1.73e-02)
animation (9.76e-03)
value (8.62e-03)
attribute (5.45e-03)
string (4.66e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
)
;
}
<SENTENCE_END/>
%END%%END% (9.15e-01)
type (1.86e-02)
object (7.76e-03)
element (6.54e-03)
by (5.08e-03)
name (5.08e-03)
value (4.03e-03)
animation (2.38e-03)
string (1.95e-03)
array (1.37e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
)
;
}
<SENTENCE_END/>
write,fieldwritejson (1.03e-01)
read (6.44e-02)
%UNK% (6.24e-02)
object (3.91e-02)
append (3.76e-02)
parse (3.67e-02)
number (3.58e-02)
load (2.52e-02)
element (2.46e-02)
%END% (2.17e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
)
;
}
<SENTENCE_END/>
field%END% (6.95e-01)
object (1.42e-01)
string (1.99e-02)
value (1.02e-02)
json (8.99e-03)
by (8.69e-03)
animation (6.13e-03)
name (5.97e-03)
%UNK% (5.78e-03)
array (5.28e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.54e-01)
object (4.40e-03)
string (3.87e-03)
value (3.02e-03)
name (1.60e-03)
%UNK% (1.50e-03)
array (1.42e-03)
animation (1.31e-03)
by (1.25e-03)
header (1.10e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
)
;
}
<SENTENCE_END/>
write,fieldwriteget (4.37e-01)
parse (8.94e-02)
create (4.22e-02)
load (3.81e-02)
read (3.22e-02)
add (2.19e-02)
write (2.02e-02)
%UNK% (1.83e-02)
invoke (1.31e-02)
new (1.12e-02)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
try
{
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
json
name
)
;
write
value
(
field
.
get
(
object
)
,
field
.
get
type
(
)
,
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
try
{
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
json
name
)
;
write
value
(
field
.
get
(
object
)
,
field
.
get
type
(
)
,
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
field%END% (4.70e-01)
fields (5.83e-02)
get (4.41e-02)
field (2.30e-02)
name (2.28e-02)
type (1.70e-02)
metadata (1.37e-02)
declared (1.31e-02)
%UNK% (1.17e-02)
element (1.11e-02)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
try
{
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
json
name
)
;
write
value
(
field
.
get
(
object
)
,
field
.
get
type
(
)
,
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
try
{
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
json
name
)
;
write
value
(
field
.
get
(
object
)
,
field
.
get
type
(
)
,
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
%END%%END% (6.57e-01)
fields (4.21e-02)
field (1.63e-02)
get (1.58e-02)
type (1.58e-02)
name (1.53e-02)
metadata (7.33e-03)
element (6.07e-03)
string (5.84e-03)
exception (5.79e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
try
{
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
json
name
)
;
write
value
(
field
.
get
(
object
)
,
field
.
get
type
(
)
,
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
try
{
if
(
debug
)
system
.
out
.
println
(
"Writing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
writer
.
name
(
json
name
)
;
write
value
(
field
.
get
(
object
)
,
field
.
get
type
(
)
,
element
type
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
field
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
write,valuewriteparse (3.94e-01)
load (3.16e-01)
read (1.39e-01)
append (1.31e-02)
put (1.11e-02)
get (9.20e-03)
remove (5.71e-03)
write (5.33e-03)
reader (4.82e-03)
delete (4.71e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
value%END% (9.49e-01)
value (7.38e-03)
name (3.11e-03)
null (1.98e-03)
string (1.90e-03)
attribute (1.78e-03)
serialization (1.38e-03)
class (1.04e-03)
writer (8.26e-04)
all (7.39e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.80e-01)
value (2.03e-03)
name (1.23e-03)
null (9.04e-04)
serialization (8.87e-04)
string (6.68e-04)
exception (6.45e-04)
class (5.90e-04)
attribute (3.87e-04)
all (3.61e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
write,valuewriteparse (7.53e-01)
read (1.01e-01)
load (1.00e-01)
serialization (5.58e-03)
reader (3.83e-03)
append (1.76e-03)
new (1.64e-03)
put (1.40e-03)
compact (1.35e-03)
write (1.34e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
value%END% (9.49e-01)
name (6.36e-03)
type (2.79e-03)
string (2.02e-03)
writer (1.87e-03)
serialization (1.40e-03)
file (1.35e-03)
bytes (1.26e-03)
directory (1.10e-03)
attribute (9.59e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.86e-01)
name (1.72e-03)
serialization (9.63e-04)
type (7.62e-04)
exception (5.36e-04)
string (4.88e-04)
null (4.13e-04)
writer (2.62e-04)
file (2.43e-04)
directory (2.28e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
write,valuewriteparse (7.35e-01)
read (1.09e-01)
load (1.04e-01)
reader (5.39e-03)
serialization (5.08e-03)
append (2.00e-03)
write (2.00e-03)
delete (1.76e-03)
new (1.50e-03)
put (1.45e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
element
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
element
type
)
;
}
<SENTENCE_END/>
value%END% (9.27e-01)
name (7.79e-03)
type (5.40e-03)
element (4.11e-03)
string (3.63e-03)
file (2.27e-03)
bytes (1.79e-03)
attribute (1.76e-03)
writer (1.68e-03)
directory (1.44e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
element
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
element
type
)
;
}
<SENTENCE_END/>
%END%%END% (9.72e-01)
type (3.71e-03)
name (3.40e-03)
serialization (1.76e-03)
element (1.49e-03)
exception (1.02e-03)
string (7.71e-04)
writer (5.11e-04)
catch (4.32e-04)
known (3.57e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
element
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
value
,
known
type
,
element
type
)
;
}
<SENTENCE_END/>
write,valuewritevalue (4.39e-01)
remove (1.17e-01)
load (1.13e-01)
append (7.42e-02)
get (1.60e-02)
put (1.19e-02)
set (1.13e-02)
state (8.49e-03)
%UNK% (8.00e-03)
add (6.91e-03)
<SENTENCE_START>
{
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
value%END% (8.52e-01)
value (1.17e-01)
null (1.79e-03)
by (1.77e-03)
object (1.77e-03)
all (1.51e-03)
attribute (1.39e-03)
string (1.06e-03)
class (1.05e-03)
%UNK% (8.47e-04)
<SENTENCE_START>
{
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.68e-01)
value (1.73e-02)
all (1.14e-03)
null (1.07e-03)
by (8.64e-04)
class (7.33e-04)
string (4.82e-04)
object (4.73e-04)
attribute (3.49e-04)
%UNK% (2.99e-04)
<SENTENCE_START>
{
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
value
==
null
)
%SELF%
(
value
,
null
,
null
)
;
else
%SELF%
(
value
,
value
.
get
class
(
)
,
null
)
;
}
<SENTENCE_END/>
write,valuewrite%UNK% (1.60e-01)
set (1.41e-01)
append (8.45e-02)
remove (4.21e-02)
value (3.67e-02)
color (3.27e-02)
add (2.85e-02)
load (2.21e-02)
start (1.91e-02)
init (1.87e-02)
<SENTENCE_START>
{
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
value%END% (9.68e-01)
value (7.15e-03)
type (3.26e-03)
%UNK% (2.42e-03)
by (2.08e-03)
object (1.05e-03)
animation (9.83e-04)
all (8.88e-04)
known (6.58e-04)
string (5.48e-04)
<SENTENCE_START>
{
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.86e-01)
value (3.35e-03)
type (1.78e-03)
%UNK% (6.01e-04)
all (3.62e-04)
null (3.42e-04)
known (3.42e-04)
object (3.19e-04)
animation (2.47e-04)
by (2.12e-04)
<SENTENCE_START>
{
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
value
,
known
type
,
null
)
;
}
<SENTENCE_END/>
write,valuewrite%UNK% (1.83e-01)
%END% (1.53e-01)
get (6.04e-02)
to (3.54e-02)
read (1.79e-02)
write (1.34e-02)
is (1.27e-02)
end (1.24e-02)
type (1.16e-02)
load (1.14e-02)
<SENTENCE_START>
{
try
{
if
(
value
==
null
)
{
writer
.
value
(
null
)
;
return
;
}
if
(
(
known
type
!=
null
&&
known
type
.
is
primitive
(
)
)
||
known
type
==
string
.
class
||
known
type
==
integer
.
class
||
known
type
==
boolean
.
class
||
known
type
==
float
.
class
||
known
type
==
long
.
class
||
known
type
==
double
.
class
||
known
type
==
short
.
class
||
known
type
==
byte
.
class
||
known
type
==
character
.
class
)
{
writer
.
value
(
value
)
;
return
;
}
class
actual
type
=
value
.
get
class
(
)
;
if
(
actual
type
.
is
primitive
(
)
||
actual
type
==
string
.
class
||
actual
type
==
integer
.
class
||
actual
type
==
boolean
.
class
||
actual
type
==
float
.
class
||
actual
type
==
long
.
class
||
actual
type
==
double
.
class
||
actual
type
==
short
.
class
||
actual
type
==
byte
.
class
||
actual
type
==
character
.
class
)
{
write
object
start
(
actual
type
,
null
)
;
%SELF%
(
"value"
,
value
)
;
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
serializable
)
{
write
object
start
(
actual
type
,
known
type
)
;
(
(
serializable
)
value
)
.
write
(
this
)
;
write
object
end
(
)
;
return
;
}
serializer
serializer
=
class
to
serializer
.
get
(
actual
type
)
;
if
(
serializer
!=
null
)
{
serializer
.
write
(
this
,
value
,
known
type
)
;
return
;
}
if
(
value
instanceof
array
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
array
.
class
)
throw
new
serialization
exception
(
"Serialization of an Array other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
array
array
=
(
array
)
value
;
for
(
int
i
=
0
,
n
=
array
.
size
;
i
<
n
;
i
++
)
%SELF%
(
array
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
queue
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
queue
.
class
)
throw
new
serialization
exception
(
"Serialization of a Queue other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
queue
queue
=
(
queue
)
value
;
for
(
int
i
=
0
,
n
=
queue
.
size
;
i
<
n
;
i
++
)
%SELF%
(
queue
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
collection
)
{
if
(
type
name
!=
null
&&
actual
type
!=
array
list
.
class
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
write
object
start
(
actual
type
,
known
type
)
;
write
array
start
(
"items"
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
write
object
end
(
)
;
}
else
{
write
array
start
(
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
}
return
;
}
if
(
actual
type
.
is
array
(
)
)
{
if
(
element
type
==
null
)
element
type
=
actual
type
.
get
component
type
(
)
;
int
length
=
array
reflection
.
get
length
(
value
)
;
write
array
start
(
)
;
for
(
int
i
=
0
;
i
<
length
;
i
++
)
%SELF%
(
array
reflection
.
get
(
value
,
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
object
map
)
{
if
(
known
type
==
null
)
known
type
=
object
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
entry
entry
:
(
(
object
map
<
?
,
?
>
)
value
)
.
entries
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
key
)
)
;
%SELF%
(
entry
.
value
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
array
map
)
{
if
(
known
type
==
null
)
known
type
=
array
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
array
map
map
=
(
array
map
)
value
;
for
(
int
i
=
0
,
n
=
map
.
size
;
i
<
n
;
i
++
)
{
writer
.
name
(
convert
to
string
(
map
.
keys
[
i
]
)
)
;
%SELF%
(
map
.
values
[
i
]
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
map
)
{
if
(
known
type
==
null
)
known
type
=
hash
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
map
.
entry
entry
:
(
(
map
<
?
,
?
>
)
value
)
.
entry
set
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
get
key
(
)
)
)
;
%SELF%
(
entry
.
get
value
(
)
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
actual
type
)
)
{
if
(
type
name
!=
null
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
if
(
actual
type
.
get
enum
constants
(
)
==
null
)
actual
type
=
actual
type
.
get
superclass
(
)
;
write
object
start
(
actual
type
,
null
)
;
writer
.
name
(
"value"
)
;
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
write
object
end
(
)
;
}
else
{
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
}
return
;
}
write
object
start
(
actual
type
,
known
type
)
;
write
fields
(
value
)
;
write
object
end
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
if
(
value
==
null
)
{
writer
.
value
(
null
)
;
return
;
}
if
(
(
known
type
!=
null
&&
known
type
.
is
primitive
(
)
)
||
known
type
==
string
.
class
||
known
type
==
integer
.
class
||
known
type
==
boolean
.
class
||
known
type
==
float
.
class
||
known
type
==
long
.
class
||
known
type
==
double
.
class
||
known
type
==
short
.
class
||
known
type
==
byte
.
class
||
known
type
==
character
.
class
)
{
writer
.
value
(
value
)
;
return
;
}
class
actual
type
=
value
.
get
class
(
)
;
if
(
actual
type
.
is
primitive
(
)
||
actual
type
==
string
.
class
||
actual
type
==
integer
.
class
||
actual
type
==
boolean
.
class
||
actual
type
==
float
.
class
||
actual
type
==
long
.
class
||
actual
type
==
double
.
class
||
actual
type
==
short
.
class
||
actual
type
==
byte
.
class
||
actual
type
==
character
.
class
)
{
write
object
start
(
actual
type
,
null
)
;
%SELF%
(
"value"
,
value
)
;
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
serializable
)
{
write
object
start
(
actual
type
,
known
type
)
;
(
(
serializable
)
value
)
.
write
(
this
)
;
write
object
end
(
)
;
return
;
}
serializer
serializer
=
class
to
serializer
.
get
(
actual
type
)
;
if
(
serializer
!=
null
)
{
serializer
.
write
(
this
,
value
,
known
type
)
;
return
;
}
if
(
value
instanceof
array
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
array
.
class
)
throw
new
serialization
exception
(
"Serialization of an Array other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
array
array
=
(
array
)
value
;
for
(
int
i
=
0
,
n
=
array
.
size
;
i
<
n
;
i
++
)
%SELF%
(
array
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
queue
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
queue
.
class
)
throw
new
serialization
exception
(
"Serialization of a Queue other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
queue
queue
=
(
queue
)
value
;
for
(
int
i
=
0
,
n
=
queue
.
size
;
i
<
n
;
i
++
)
%SELF%
(
queue
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
collection
)
{
if
(
type
name
!=
null
&&
actual
type
!=
array
list
.
class
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
write
object
start
(
actual
type
,
known
type
)
;
write
array
start
(
"items"
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
write
object
end
(
)
;
}
else
{
write
array
start
(
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
}
return
;
}
if
(
actual
type
.
is
array
(
)
)
{
if
(
element
type
==
null
)
element
type
=
actual
type
.
get
component
type
(
)
;
int
length
=
array
reflection
.
get
length
(
value
)
;
write
array
start
(
)
;
for
(
int
i
=
0
;
i
<
length
;
i
++
)
%SELF%
(
array
reflection
.
get
(
value
,
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
object
map
)
{
if
(
known
type
==
null
)
known
type
=
object
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
entry
entry
:
(
(
object
map
<
?
,
?
>
)
value
)
.
entries
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
key
)
)
;
%SELF%
(
entry
.
value
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
array
map
)
{
if
(
known
type
==
null
)
known
type
=
array
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
array
map
map
=
(
array
map
)
value
;
for
(
int
i
=
0
,
n
=
map
.
size
;
i
<
n
;
i
++
)
{
writer
.
name
(
convert
to
string
(
map
.
keys
[
i
]
)
)
;
%SELF%
(
map
.
values
[
i
]
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
map
)
{
if
(
known
type
==
null
)
known
type
=
hash
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
map
.
entry
entry
:
(
(
map
<
?
,
?
>
)
value
)
.
entry
set
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
get
key
(
)
)
)
;
%SELF%
(
entry
.
get
value
(
)
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
actual
type
)
)
{
if
(
type
name
!=
null
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
if
(
actual
type
.
get
enum
constants
(
)
==
null
)
actual
type
=
actual
type
.
get
superclass
(
)
;
write
object
start
(
actual
type
,
null
)
;
writer
.
name
(
"value"
)
;
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
write
object
end
(
)
;
}
else
{
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
}
return
;
}
write
object
start
(
actual
type
,
known
type
)
;
write
fields
(
value
)
;
write
object
end
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
value%END% (6.39e-01)
%UNK% (6.40e-02)
to (1.53e-02)
string (1.07e-02)
type (1.01e-02)
object (7.85e-03)
value (7.77e-03)
get (7.45e-03)
array (5.21e-03)
by (4.68e-03)
<SENTENCE_START>
{
try
{
if
(
value
==
null
)
{
writer
.
value
(
null
)
;
return
;
}
if
(
(
known
type
!=
null
&&
known
type
.
is
primitive
(
)
)
||
known
type
==
string
.
class
||
known
type
==
integer
.
class
||
known
type
==
boolean
.
class
||
known
type
==
float
.
class
||
known
type
==
long
.
class
||
known
type
==
double
.
class
||
known
type
==
short
.
class
||
known
type
==
byte
.
class
||
known
type
==
character
.
class
)
{
writer
.
value
(
value
)
;
return
;
}
class
actual
type
=
value
.
get
class
(
)
;
if
(
actual
type
.
is
primitive
(
)
||
actual
type
==
string
.
class
||
actual
type
==
integer
.
class
||
actual
type
==
boolean
.
class
||
actual
type
==
float
.
class
||
actual
type
==
long
.
class
||
actual
type
==
double
.
class
||
actual
type
==
short
.
class
||
actual
type
==
byte
.
class
||
actual
type
==
character
.
class
)
{
write
object
start
(
actual
type
,
null
)
;
%SELF%
(
"value"
,
value
)
;
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
serializable
)
{
write
object
start
(
actual
type
,
known
type
)
;
(
(
serializable
)
value
)
.
write
(
this
)
;
write
object
end
(
)
;
return
;
}
serializer
serializer
=
class
to
serializer
.
get
(
actual
type
)
;
if
(
serializer
!=
null
)
{
serializer
.
write
(
this
,
value
,
known
type
)
;
return
;
}
if
(
value
instanceof
array
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
array
.
class
)
throw
new
serialization
exception
(
"Serialization of an Array other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
array
array
=
(
array
)
value
;
for
(
int
i
=
0
,
n
=
array
.
size
;
i
<
n
;
i
++
)
%SELF%
(
array
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
queue
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
queue
.
class
)
throw
new
serialization
exception
(
"Serialization of a Queue other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
queue
queue
=
(
queue
)
value
;
for
(
int
i
=
0
,
n
=
queue
.
size
;
i
<
n
;
i
++
)
%SELF%
(
queue
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
collection
)
{
if
(
type
name
!=
null
&&
actual
type
!=
array
list
.
class
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
write
object
start
(
actual
type
,
known
type
)
;
write
array
start
(
"items"
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
write
object
end
(
)
;
}
else
{
write
array
start
(
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
}
return
;
}
if
(
actual
type
.
is
array
(
)
)
{
if
(
element
type
==
null
)
element
type
=
actual
type
.
get
component
type
(
)
;
int
length
=
array
reflection
.
get
length
(
value
)
;
write
array
start
(
)
;
for
(
int
i
=
0
;
i
<
length
;
i
++
)
%SELF%
(
array
reflection
.
get
(
value
,
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
object
map
)
{
if
(
known
type
==
null
)
known
type
=
object
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
entry
entry
:
(
(
object
map
<
?
,
?
>
)
value
)
.
entries
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
key
)
)
;
%SELF%
(
entry
.
value
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
array
map
)
{
if
(
known
type
==
null
)
known
type
=
array
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
array
map
map
=
(
array
map
)
value
;
for
(
int
i
=
0
,
n
=
map
.
size
;
i
<
n
;
i
++
)
{
writer
.
name
(
convert
to
string
(
map
.
keys
[
i
]
)
)
;
%SELF%
(
map
.
values
[
i
]
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
map
)
{
if
(
known
type
==
null
)
known
type
=
hash
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
map
.
entry
entry
:
(
(
map
<
?
,
?
>
)
value
)
.
entry
set
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
get
key
(
)
)
)
;
%SELF%
(
entry
.
get
value
(
)
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
actual
type
)
)
{
if
(
type
name
!=
null
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
if
(
actual
type
.
get
enum
constants
(
)
==
null
)
actual
type
=
actual
type
.
get
superclass
(
)
;
write
object
start
(
actual
type
,
null
)
;
writer
.
name
(
"value"
)
;
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
write
object
end
(
)
;
}
else
{
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
}
return
;
}
write
object
start
(
actual
type
,
known
type
)
;
write
fields
(
value
)
;
write
object
end
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
if
(
value
==
null
)
{
writer
.
value
(
null
)
;
return
;
}
if
(
(
known
type
!=
null
&&
known
type
.
is
primitive
(
)
)
||
known
type
==
string
.
class
||
known
type
==
integer
.
class
||
known
type
==
boolean
.
class
||
known
type
==
float
.
class
||
known
type
==
long
.
class
||
known
type
==
double
.
class
||
known
type
==
short
.
class
||
known
type
==
byte
.
class
||
known
type
==
character
.
class
)
{
writer
.
value
(
value
)
;
return
;
}
class
actual
type
=
value
.
get
class
(
)
;
if
(
actual
type
.
is
primitive
(
)
||
actual
type
==
string
.
class
||
actual
type
==
integer
.
class
||
actual
type
==
boolean
.
class
||
actual
type
==
float
.
class
||
actual
type
==
long
.
class
||
actual
type
==
double
.
class
||
actual
type
==
short
.
class
||
actual
type
==
byte
.
class
||
actual
type
==
character
.
class
)
{
write
object
start
(
actual
type
,
null
)
;
%SELF%
(
"value"
,
value
)
;
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
serializable
)
{
write
object
start
(
actual
type
,
known
type
)
;
(
(
serializable
)
value
)
.
write
(
this
)
;
write
object
end
(
)
;
return
;
}
serializer
serializer
=
class
to
serializer
.
get
(
actual
type
)
;
if
(
serializer
!=
null
)
{
serializer
.
write
(
this
,
value
,
known
type
)
;
return
;
}
if
(
value
instanceof
array
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
array
.
class
)
throw
new
serialization
exception
(
"Serialization of an Array other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
array
array
=
(
array
)
value
;
for
(
int
i
=
0
,
n
=
array
.
size
;
i
<
n
;
i
++
)
%SELF%
(
array
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
queue
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
queue
.
class
)
throw
new
serialization
exception
(
"Serialization of a Queue other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
queue
queue
=
(
queue
)
value
;
for
(
int
i
=
0
,
n
=
queue
.
size
;
i
<
n
;
i
++
)
%SELF%
(
queue
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
collection
)
{
if
(
type
name
!=
null
&&
actual
type
!=
array
list
.
class
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
write
object
start
(
actual
type
,
known
type
)
;
write
array
start
(
"items"
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
write
object
end
(
)
;
}
else
{
write
array
start
(
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
}
return
;
}
if
(
actual
type
.
is
array
(
)
)
{
if
(
element
type
==
null
)
element
type
=
actual
type
.
get
component
type
(
)
;
int
length
=
array
reflection
.
get
length
(
value
)
;
write
array
start
(
)
;
for
(
int
i
=
0
;
i
<
length
;
i
++
)
%SELF%
(
array
reflection
.
get
(
value
,
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
object
map
)
{
if
(
known
type
==
null
)
known
type
=
object
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
entry
entry
:
(
(
object
map
<
?
,
?
>
)
value
)
.
entries
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
key
)
)
;
%SELF%
(
entry
.
value
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
array
map
)
{
if
(
known
type
==
null
)
known
type
=
array
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
array
map
map
=
(
array
map
)
value
;
for
(
int
i
=
0
,
n
=
map
.
size
;
i
<
n
;
i
++
)
{
writer
.
name
(
convert
to
string
(
map
.
keys
[
i
]
)
)
;
%SELF%
(
map
.
values
[
i
]
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
map
)
{
if
(
known
type
==
null
)
known
type
=
hash
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
map
.
entry
entry
:
(
(
map
<
?
,
?
>
)
value
)
.
entry
set
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
get
key
(
)
)
)
;
%SELF%
(
entry
.
get
value
(
)
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
actual
type
)
)
{
if
(
type
name
!=
null
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
if
(
actual
type
.
get
enum
constants
(
)
==
null
)
actual
type
=
actual
type
.
get
superclass
(
)
;
write
object
start
(
actual
type
,
null
)
;
writer
.
name
(
"value"
)
;
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
write
object
end
(
)
;
}
else
{
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
}
return
;
}
write
object
start
(
actual
type
,
known
type
)
;
write
fields
(
value
)
;
write
object
end
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (7.41e-01)
%UNK% (4.10e-02)
to (1.03e-02)
string (8.70e-03)
type (8.02e-03)
value (5.98e-03)
object (5.98e-03)
array (4.26e-03)
get (3.80e-03)
by (3.79e-03)
<SENTENCE_START>
{
try
{
if
(
value
==
null
)
{
writer
.
value
(
null
)
;
return
;
}
if
(
(
known
type
!=
null
&&
known
type
.
is
primitive
(
)
)
||
known
type
==
string
.
class
||
known
type
==
integer
.
class
||
known
type
==
boolean
.
class
||
known
type
==
float
.
class
||
known
type
==
long
.
class
||
known
type
==
double
.
class
||
known
type
==
short
.
class
||
known
type
==
byte
.
class
||
known
type
==
character
.
class
)
{
writer
.
value
(
value
)
;
return
;
}
class
actual
type
=
value
.
get
class
(
)
;
if
(
actual
type
.
is
primitive
(
)
||
actual
type
==
string
.
class
||
actual
type
==
integer
.
class
||
actual
type
==
boolean
.
class
||
actual
type
==
float
.
class
||
actual
type
==
long
.
class
||
actual
type
==
double
.
class
||
actual
type
==
short
.
class
||
actual
type
==
byte
.
class
||
actual
type
==
character
.
class
)
{
write
object
start
(
actual
type
,
null
)
;
%SELF%
(
"value"
,
value
)
;
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
serializable
)
{
write
object
start
(
actual
type
,
known
type
)
;
(
(
serializable
)
value
)
.
write
(
this
)
;
write
object
end
(
)
;
return
;
}
serializer
serializer
=
class
to
serializer
.
get
(
actual
type
)
;
if
(
serializer
!=
null
)
{
serializer
.
write
(
this
,
value
,
known
type
)
;
return
;
}
if
(
value
instanceof
array
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
array
.
class
)
throw
new
serialization
exception
(
"Serialization of an Array other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
array
array
=
(
array
)
value
;
for
(
int
i
=
0
,
n
=
array
.
size
;
i
<
n
;
i
++
)
%SELF%
(
array
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
queue
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
queue
.
class
)
throw
new
serialization
exception
(
"Serialization of a Queue other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
queue
queue
=
(
queue
)
value
;
for
(
int
i
=
0
,
n
=
queue
.
size
;
i
<
n
;
i
++
)
%SELF%
(
queue
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
collection
)
{
if
(
type
name
!=
null
&&
actual
type
!=
array
list
.
class
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
write
object
start
(
actual
type
,
known
type
)
;
write
array
start
(
"items"
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
write
object
end
(
)
;
}
else
{
write
array
start
(
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
}
return
;
}
if
(
actual
type
.
is
array
(
)
)
{
if
(
element
type
==
null
)
element
type
=
actual
type
.
get
component
type
(
)
;
int
length
=
array
reflection
.
get
length
(
value
)
;
write
array
start
(
)
;
for
(
int
i
=
0
;
i
<
length
;
i
++
)
%SELF%
(
array
reflection
.
get
(
value
,
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
object
map
)
{
if
(
known
type
==
null
)
known
type
=
object
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
entry
entry
:
(
(
object
map
<
?
,
?
>
)
value
)
.
entries
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
key
)
)
;
%SELF%
(
entry
.
value
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
array
map
)
{
if
(
known
type
==
null
)
known
type
=
array
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
array
map
map
=
(
array
map
)
value
;
for
(
int
i
=
0
,
n
=
map
.
size
;
i
<
n
;
i
++
)
{
writer
.
name
(
convert
to
string
(
map
.
keys
[
i
]
)
)
;
%SELF%
(
map
.
values
[
i
]
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
map
)
{
if
(
known
type
==
null
)
known
type
=
hash
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
map
.
entry
entry
:
(
(
map
<
?
,
?
>
)
value
)
.
entry
set
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
get
key
(
)
)
)
;
%SELF%
(
entry
.
get
value
(
)
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
actual
type
)
)
{
if
(
type
name
!=
null
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
if
(
actual
type
.
get
enum
constants
(
)
==
null
)
actual
type
=
actual
type
.
get
superclass
(
)
;
write
object
start
(
actual
type
,
null
)
;
writer
.
name
(
"value"
)
;
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
write
object
end
(
)
;
}
else
{
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
}
return
;
}
write
object
start
(
actual
type
,
known
type
)
;
write
fields
(
value
)
;
write
object
end
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
if
(
value
==
null
)
{
writer
.
value
(
null
)
;
return
;
}
if
(
(
known
type
!=
null
&&
known
type
.
is
primitive
(
)
)
||
known
type
==
string
.
class
||
known
type
==
integer
.
class
||
known
type
==
boolean
.
class
||
known
type
==
float
.
class
||
known
type
==
long
.
class
||
known
type
==
double
.
class
||
known
type
==
short
.
class
||
known
type
==
byte
.
class
||
known
type
==
character
.
class
)
{
writer
.
value
(
value
)
;
return
;
}
class
actual
type
=
value
.
get
class
(
)
;
if
(
actual
type
.
is
primitive
(
)
||
actual
type
==
string
.
class
||
actual
type
==
integer
.
class
||
actual
type
==
boolean
.
class
||
actual
type
==
float
.
class
||
actual
type
==
long
.
class
||
actual
type
==
double
.
class
||
actual
type
==
short
.
class
||
actual
type
==
byte
.
class
||
actual
type
==
character
.
class
)
{
write
object
start
(
actual
type
,
null
)
;
%SELF%
(
"value"
,
value
)
;
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
serializable
)
{
write
object
start
(
actual
type
,
known
type
)
;
(
(
serializable
)
value
)
.
write
(
this
)
;
write
object
end
(
)
;
return
;
}
serializer
serializer
=
class
to
serializer
.
get
(
actual
type
)
;
if
(
serializer
!=
null
)
{
serializer
.
write
(
this
,
value
,
known
type
)
;
return
;
}
if
(
value
instanceof
array
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
array
.
class
)
throw
new
serialization
exception
(
"Serialization of an Array other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
array
array
=
(
array
)
value
;
for
(
int
i
=
0
,
n
=
array
.
size
;
i
<
n
;
i
++
)
%SELF%
(
array
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
queue
)
{
if
(
known
type
!=
null
&&
actual
type
!=
known
type
&&
actual
type
!=
queue
.
class
)
throw
new
serialization
exception
(
"Serialization of a Queue other than the known type is not supported. "
+
"Known type: "
+
known
type
+
" Actual type: "
+
actual
type
)
;
write
array
start
(
)
;
queue
queue
=
(
queue
)
value
;
for
(
int
i
=
0
,
n
=
queue
.
size
;
i
<
n
;
i
++
)
%SELF%
(
queue
.
get
(
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
collection
)
{
if
(
type
name
!=
null
&&
actual
type
!=
array
list
.
class
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
write
object
start
(
actual
type
,
known
type
)
;
write
array
start
(
"items"
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
write
object
end
(
)
;
}
else
{
write
array
start
(
)
;
for
(
object
item
:
(
collection
)
value
)
%SELF%
(
item
,
element
type
,
null
)
;
write
array
end
(
)
;
}
return
;
}
if
(
actual
type
.
is
array
(
)
)
{
if
(
element
type
==
null
)
element
type
=
actual
type
.
get
component
type
(
)
;
int
length
=
array
reflection
.
get
length
(
value
)
;
write
array
start
(
)
;
for
(
int
i
=
0
;
i
<
length
;
i
++
)
%SELF%
(
array
reflection
.
get
(
value
,
i
)
,
element
type
,
null
)
;
write
array
end
(
)
;
return
;
}
if
(
value
instanceof
object
map
)
{
if
(
known
type
==
null
)
known
type
=
object
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
entry
entry
:
(
(
object
map
<
?
,
?
>
)
value
)
.
entries
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
key
)
)
;
%SELF%
(
entry
.
value
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
array
map
)
{
if
(
known
type
==
null
)
known
type
=
array
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
array
map
map
=
(
array
map
)
value
;
for
(
int
i
=
0
,
n
=
map
.
size
;
i
<
n
;
i
++
)
{
writer
.
name
(
convert
to
string
(
map
.
keys
[
i
]
)
)
;
%SELF%
(
map
.
values
[
i
]
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
value
instanceof
map
)
{
if
(
known
type
==
null
)
known
type
=
hash
map
.
class
;
write
object
start
(
actual
type
,
known
type
)
;
for
(
map
.
entry
entry
:
(
(
map
<
?
,
?
>
)
value
)
.
entry
set
(
)
)
{
writer
.
name
(
convert
to
string
(
entry
.
get
key
(
)
)
)
;
%SELF%
(
entry
.
get
value
(
)
,
element
type
,
null
)
;
}
write
object
end
(
)
;
return
;
}
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
actual
type
)
)
{
if
(
type
name
!=
null
&&
(
known
type
==
null
||
known
type
!=
actual
type
)
)
{
if
(
actual
type
.
get
enum
constants
(
)
==
null
)
actual
type
=
actual
type
.
get
superclass
(
)
;
write
object
start
(
actual
type
,
null
)
;
writer
.
name
(
"value"
)
;
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
write
object
end
(
)
;
}
else
{
writer
.
value
(
convert
to
string
(
(
enum
)
value
)
)
;
}
return
;
}
write
object
start
(
actual
type
,
known
type
)
;
write
fields
(
value
)
;
write
object
end
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
write,object,startwriteparse (7.04e-01)
read (1.49e-01)
load (8.10e-02)
reader (7.87e-03)
serialization (4.62e-03)
delete (2.79e-03)
write (2.68e-03)
compact (2.64e-03)
mark (2.07e-03)
put (1.93e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
object%END% (9.36e-01)
name (1.01e-02)
writer (2.88e-03)
bytes (2.72e-03)
directory (2.69e-03)
file (2.20e-03)
string (2.06e-03)
serialization (9.74e-04)
array (9.68e-04)
double (9.10e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
start%END% (9.85e-01)
name (2.55e-03)
serialization (8.82e-04)
exception (7.31e-04)
writer (4.28e-04)
directory (3.68e-04)
string (3.60e-04)
catch (3.48e-04)
bytes (3.02e-04)
file (2.68e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.83e-01)
exception (3.30e-03)
serialization (2.66e-03)
name (1.53e-03)
catch (8.66e-04)
io (5.31e-04)
new (4.43e-04)
writer (1.90e-04)
try (1.75e-04)
) (1.52e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
)
;
}
<SENTENCE_END/>
write,object,startwriteparse (7.76e-01)
read (1.11e-01)
load (6.70e-02)
serialization (6.16e-03)
reader (4.18e-03)
new (1.60e-03)
write (1.40e-03)
append (1.21e-03)
delete (1.15e-03)
name (1.13e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
object%END% (9.31e-01)
name (7.32e-03)
type (4.68e-03)
string (2.92e-03)
file (2.83e-03)
directory (2.00e-03)
writer (1.92e-03)
known (1.69e-03)
%UNK% (1.62e-03)
bytes (1.55e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
start%END% (9.68e-01)
type (4.97e-03)
name (3.53e-03)
serialization (2.15e-03)
exception (1.90e-03)
known (1.64e-03)
string (6.72e-04)
writer (5.29e-04)
file (4.94e-04)
catch (4.59e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
%END%%END% (9.74e-01)
exception (5.17e-03)
serialization (4.49e-03)
name (1.77e-03)
type (1.36e-03)
catch (1.01e-03)
new (5.97e-04)
io (5.66e-04)
known (5.55e-04)
actual (2.18e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
%SELF%
(
actual
type
,
known
type
)
;
}
<SENTENCE_END/>
write,object,startwriteparse (7.30e-01)
read (1.60e-01)
load (4.89e-02)
serialization (6.92e-03)
reader (5.47e-03)
compact (3.83e-03)
mark (3.43e-03)
replace (2.57e-03)
delete (2.34e-03)
write (1.39e-03)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
object%END% (9.46e-01)
object (4.20e-03)
directory (3.73e-03)
bytes (3.30e-03)
file (2.10e-03)
string (1.93e-03)
short (1.49e-03)
writer (1.31e-03)
serialization (1.28e-03)
array (1.22e-03)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
start%END% (9.85e-01)
object (3.27e-03)
exception (1.26e-03)
serialization (1.17e-03)
directory (5.37e-04)
bytes (4.50e-04)
string (3.79e-04)
file (3.36e-04)
double (2.97e-04)
writer (2.93e-04)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.81e-01)
object (4.55e-03)
exception (3.52e-03)
serialization (2.16e-03)
io (6.85e-04)
catch (6.02e-04)
new (3.06e-04)
writer (1.73e-04)
ex (1.39e-04)
try (1.37e-04)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
write,object,startwriteparse (3.95e-01)
read (3.18e-01)
load (6.36e-02)
get (1.73e-02)
reader (1.03e-02)
write (9.48e-03)
delete (9.06e-03)
is (8.29e-03)
%UNK% (6.31e-03)
can (4.69e-03)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
object%END% (8.94e-01)
type (2.30e-02)
%UNK% (5.49e-03)
known (4.73e-03)
actual (3.49e-03)
file (3.22e-03)
string (2.77e-03)
object (2.63e-03)
serialization (2.62e-03)
write (2.17e-03)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
start%END% (9.47e-01)
type (1.69e-02)
actual (3.55e-03)
object (3.03e-03)
exception (2.96e-03)
serialization (2.96e-03)
known (1.11e-03)
write (8.48e-04)
string (5.50e-04)
file (5.14e-04)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
%END%%END% (9.66e-01)
exception (5.92e-03)
type (4.68e-03)
object (3.86e-03)
serialization (3.65e-03)
io (7.99e-04)
actual (7.80e-04)
known (5.64e-04)
catch (5.20e-04)
new (4.54e-04)
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
object
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
known
type
==
null
||
known
type
!=
actual
type
)
write
type
(
actual
type
)
;
}
<SENTENCE_END/>
write,object,endwriteparse (7.84e-01)
read (9.85e-02)
load (4.20e-02)
reader (5.77e-03)
replace (5.11e-03)
close (4.76e-03)
serialization (4.41e-03)
delete (4.11e-03)
mark (3.30e-03)
write (2.25e-03)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
object%END% (9.60e-01)
directory (3.05e-03)
bytes (2.56e-03)
file (2.10e-03)
string (1.50e-03)
short (8.03e-04)
array (7.52e-04)
serialization (6.88e-04)
double (6.79e-04)
parse (6.77e-04)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
end%END% (9.89e-01)
pop (9.37e-04)
serialization (7.03e-04)
exception (7.00e-04)
directory (5.67e-04)
bytes (4.62e-04)
file (3.93e-04)
string (3.83e-04)
double (2.50e-04)
writer (2.42e-04)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.81e-01)
pop (2.77e-03)
exception (2.12e-03)
serialization (1.42e-03)
io (1.10e-03)
catch (1.03e-03)
new (2.54e-04)
writer (2.09e-04)
try (1.44e-04)
ex (1.33e-04)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
write,array,startwriteparse (7.80e-01)
read (9.48e-02)
load (6.84e-02)
reader (7.68e-03)
serialization (4.66e-03)
compact (2.65e-03)
delete (2.11e-03)
write (1.95e-03)
exception (1.52e-03)
replace (1.52e-03)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
array%END% (9.61e-01)
name (3.90e-03)
directory (3.04e-03)
bytes (2.23e-03)
file (1.93e-03)
writer (1.90e-03)
string (1.40e-03)
array (1.09e-03)
attribute (8.96e-04)
serialization (7.68e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
start%END% (9.87e-01)
array (1.27e-03)
name (1.13e-03)
exception (8.03e-04)
writer (8.03e-04)
serialization (8.02e-04)
directory (3.82e-04)
string (2.77e-04)
catch (2.60e-04)
bytes (2.52e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.82e-01)
exception (2.30e-03)
array (1.55e-03)
serialization (1.53e-03)
catch (1.11e-03)
name (1.03e-03)
io (7.15e-04)
writer (5.01e-04)
new (2.16e-04)
try (1.85e-04)
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
name
(
name
)
;
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
write,array,startwriteparse (7.77e-01)
read (1.28e-01)
load (4.10e-02)
serialization (6.04e-03)
compact (5.58e-03)
reader (4.84e-03)
mark (3.09e-03)
delete (1.71e-03)
replace (1.62e-03)
put (1.41e-03)
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
array%END% (9.60e-01)
directory (3.77e-03)
array (2.85e-03)
bytes (2.52e-03)
file (1.76e-03)
string (1.31e-03)
writer (1.08e-03)
short (1.06e-03)
serialization (8.85e-04)
double (8.11e-04)
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
start%END% (9.89e-01)
array (1.83e-03)
exception (9.03e-04)
serialization (8.42e-04)
directory (5.08e-04)
bytes (3.52e-04)
writer (3.36e-04)
string (2.85e-04)
file (2.69e-04)
double (2.50e-04)
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.85e-01)
array (3.66e-03)
exception (2.15e-03)
serialization (1.42e-03)
catch (7.51e-04)
io (4.53e-04)
writer (1.97e-04)
new (1.69e-04)
try (1.00e-04)
directory (9.99e-05)
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
array
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
write,array,endwriteparse (7.84e-01)
read (9.85e-02)
load (4.20e-02)
reader (5.77e-03)
replace (5.11e-03)
close (4.76e-03)
serialization (4.41e-03)
delete (4.11e-03)
mark (3.30e-03)
write (2.25e-03)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
array%END% (9.60e-01)
directory (3.05e-03)
bytes (2.56e-03)
file (2.10e-03)
string (1.50e-03)
short (8.03e-04)
array (7.52e-04)
serialization (6.88e-04)
double (6.79e-04)
parse (6.77e-04)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
end%END% (9.89e-01)
pop (9.37e-04)
serialization (7.03e-04)
exception (7.00e-04)
directory (5.67e-04)
bytes (4.62e-04)
file (3.93e-04)
string (3.83e-04)
double (2.50e-04)
writer (2.42e-04)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.86e-01)
pop (2.32e-03)
exception (1.49e-03)
serialization (1.05e-03)
catch (8.41e-04)
io (6.69e-04)
writer (1.71e-04)
new (1.60e-04)
directory (1.10e-04)
try (1.02e-04)
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
writer
.
pop
(
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
<SENTENCE_END/>
write,typewriteget (5.91e-01)
load (1.12e-01)
parse (6.77e-02)
read (3.65e-02)
set (2.34e-02)
name (1.36e-02)
add (6.92e-03)
invoke (6.67e-03)
is (6.25e-03)
create (5.50e-03)
<SENTENCE_START>
{
if
(
type
name
==
null
)
return
;
string
class
name
=
get
tag
(
type
)
;
if
(
class
name
==
null
)
class
name
=
type
.
get
name
(
)
;
try
{
writer
.
set
(
type
name
,
class
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
debug
)
system
.
out
.
println
(
"Writing type: "
+
type
.
get
name
(
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
type
name
==
null
)
return
;
string
class
name
=
get
tag
(
type
)
;
if
(
class
name
==
null
)
class
name
=
type
.
get
name
(
)
;
try
{
writer
.
set
(
type
name
,
class
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
debug
)
system
.
out
.
println
(
"Writing type: "
+
type
.
get
name
(
)
)
;
}
<SENTENCE_END/>
type%END% (5.83e-01)
tag (7.10e-02)
name (5.65e-02)
type (4.33e-02)
class (4.00e-02)
get (1.69e-02)
writer (1.28e-02)
null (1.06e-02)
string (9.60e-03)
attribute (5.52e-03)
<SENTENCE_START>
{
if
(
type
name
==
null
)
return
;
string
class
name
=
get
tag
(
type
)
;
if
(
class
name
==
null
)
class
name
=
type
.
get
name
(
)
;
try
{
writer
.
set
(
type
name
,
class
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
debug
)
system
.
out
.
println
(
"Writing type: "
+
type
.
get
name
(
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
type
name
==
null
)
return
;
string
class
name
=
get
tag
(
type
)
;
if
(
class
name
==
null
)
class
name
=
type
.
get
name
(
)
;
try
{
writer
.
set
(
type
name
,
class
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
debug
)
system
.
out
.
println
(
"Writing type: "
+
type
.
get
name
(
)
)
;
}
<SENTENCE_END/>
%END%%END% (7.98e-01)
tag (5.53e-02)
name (2.91e-02)
type (1.22e-02)
class (9.53e-03)
get (5.34e-03)
string (2.61e-03)
null (2.21e-03)
writer (2.03e-03)
serialization (1.81e-03)
<SENTENCE_START>
{
if
(
type
name
==
null
)
return
;
string
class
name
=
get
tag
(
type
)
;
if
(
class
name
==
null
)
class
name
=
type
.
get
name
(
)
;
try
{
writer
.
set
(
type
name
,
class
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
debug
)
system
.
out
.
println
(
"Writing type: "
+
type
.
get
name
(
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
type
name
==
null
)
return
;
string
class
name
=
get
tag
(
type
)
;
if
(
class
name
==
null
)
class
name
=
type
.
get
name
(
)
;
try
{
writer
.
set
(
type
name
,
class
name
)
;
}
catch
(
io
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
if
(
debug
)
system
.
out
.
println
(
"Writing type: "
+
type
.
get
name
(
)
)
;
}
<SENTENCE_END/>
from,jsonfromparse (7.59e-01)
read (1.28e-01)
load (5.04e-02)
write (1.01e-02)
json (8.48e-03)
check (7.21e-03)
reader (5.83e-03)
new (2.52e-03)
init (1.78e-03)
trim (1.44e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
json%END% (8.90e-01)
string (1.65e-02)
parse (9.24e-03)
file (4.61e-03)
%UNK% (4.17e-03)
directory (3.13e-03)
read (2.36e-03)
bytes (2.30e-03)
test (2.18e-03)
value (2.13e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.80e-01)
value (2.02e-03)
reader (1.19e-03)
string (1.17e-03)
json (1.12e-03)
read (7.82e-04)
type (6.50e-04)
parse (5.97e-04)
all (4.19e-04)
return (3.48e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
from,jsonfromparse (7.17e-01)
read (1.34e-01)
load (4.64e-02)
write (2.28e-02)
check (1.34e-02)
json (8.28e-03)
reader (7.65e-03)
new (6.31e-03)
copy (2.51e-03)
%UNK% (1.86e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
json%END% (8.16e-01)
string (2.82e-02)
parse (1.37e-02)
file (8.84e-03)
%UNK% (7.02e-03)
read (5.31e-03)
element (4.99e-03)
directory (4.89e-03)
bytes (4.09e-03)
test (3.82e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.78e-01)
string (2.11e-03)
value (1.38e-03)
type (1.05e-03)
json (9.39e-04)
reader (8.41e-04)
parse (5.44e-04)
element (5.36e-04)
file (5.17e-04)
read (4.99e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
reader
)
)
;
}
<SENTENCE_END/>
from,jsonfromread (4.49e-01)
parse (4.05e-01)
load (2.77e-02)
write (1.57e-02)
json (1.06e-02)
check (9.93e-03)
init (6.38e-03)
%UNK% (5.89e-03)
new (5.67e-03)
number (3.23e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
json%END% (8.94e-01)
string (1.58e-02)
%UNK% (5.71e-03)
file (4.45e-03)
parse (3.49e-03)
read (3.06e-03)
directory (2.51e-03)
input (2.48e-03)
test (2.05e-03)
object (1.96e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.74e-01)
value (2.85e-03)
json (1.62e-03)
input (1.47e-03)
string (1.21e-03)
read (1.10e-03)
type (9.22e-04)
parse (7.71e-04)
reader (6.83e-04)
return (4.97e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
from,jsonfromread (4.22e-01)
parse (3.69e-01)
write (3.20e-02)
load (2.31e-02)
check (1.73e-02)
new (1.47e-02)
json (1.08e-02)
%UNK% (1.01e-02)
init (5.77e-03)
number (4.26e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
json%END% (8.22e-01)
string (2.70e-02)
%UNK% (1.01e-02)
file (8.49e-03)
read (7.03e-03)
object (4.46e-03)
parse (4.43e-03)
type (3.93e-03)
element (3.79e-03)
directory (3.77e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.73e-01)
string (2.22e-03)
value (1.68e-03)
type (1.47e-03)
json (1.41e-03)
input (8.19e-04)
element (7.26e-04)
reader (6.54e-04)
read (6.48e-04)
parse (6.34e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
input
)
)
;
}
<SENTENCE_END/>
from,jsonfromparse (7.67e-01)
read (1.21e-01)
load (5.26e-02)
write (6.34e-03)
new (6.06e-03)
copy (2.21e-03)
serialization (2.10e-03)
reader (2.01e-03)
json (1.54e-03)
slice (1.26e-03)
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
json%END% (8.69e-01)
file (1.29e-02)
string (1.29e-02)
parse (9.95e-03)
directory (4.32e-03)
%UNK% (4.32e-03)
read (3.97e-03)
bytes (3.94e-03)
t (3.89e-03)
serialization (2.43e-03)
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.73e-01)
file (1.79e-03)
value (1.48e-03)
string (1.31e-03)
serialization (1.26e-03)
exception (1.08e-03)
json (9.43e-04)
read (8.50e-04)
new (6.44e-04)
type (6.29e-04)
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
from,jsonfromparse (7.56e-01)
read (1.19e-01)
load (5.25e-02)
write (9.48e-03)
new (8.70e-03)
copy (3.15e-03)
reader (2.40e-03)
serialization (2.09e-03)
slice (1.50e-03)
print (1.42e-03)
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
json%END% (8.49e-01)
file (1.67e-02)
string (1.65e-02)
parse (9.87e-03)
%UNK% (5.63e-03)
directory (5.15e-03)
bytes (4.84e-03)
read (4.72e-03)
write (2.71e-03)
type (2.34e-03)
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.73e-01)
file (1.84e-03)
string (1.80e-03)
serialization (1.09e-03)
value (9.58e-04)
exception (9.40e-04)
type (9.38e-04)
json (8.13e-04)
new (5.94e-04)
read (5.60e-04)
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
file
)
)
;
}
catch
(
exception
ex
)
{
throw
new
serialization
exception
(
"Error reading file: "
+
file
,
ex
)
;
}
}
<SENTENCE_END/>
from,jsonfromparse (7.76e-01)
read (8.43e-02)
load (5.96e-02)
write (1.30e-02)
json (9.52e-03)
check (4.00e-03)
trim (3.49e-03)
new (3.41e-03)
init (3.20e-03)
%UNK% (2.69e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
json%END% (8.95e-01)
offset (1.34e-02)
parse (8.00e-03)
string (6.52e-03)
data (4.17e-03)
all (3.74e-03)
%UNK% (2.93e-03)
by (2.13e-03)
json (2.12e-03)
array (1.66e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.81e-01)
offset (3.03e-03)
json (1.73e-03)
value (1.25e-03)
reader (8.18e-04)
all (8.06e-04)
type (6.81e-04)
string (6.41e-04)
read (5.30e-04)
data (4.04e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
from,jsonfromparse (7.49e-01)
read (9.14e-02)
load (4.15e-02)
write (2.51e-02)
json (1.41e-02)
new (7.94e-03)
check (6.84e-03)
%UNK% (4.29e-03)
trim (3.53e-03)
init (2.97e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
json%END% (8.88e-01)
string (9.06e-03)
offset (7.90e-03)
parse (7.77e-03)
%UNK% (4.24e-03)
data (4.13e-03)
by (3.72e-03)
json (3.61e-03)
element (2.45e-03)
type (2.18e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.77e-01)
offset (4.48e-03)
json (2.22e-03)
string (1.11e-03)
value (9.50e-04)
reader (8.74e-04)
type (7.84e-04)
all (6.65e-04)
element (3.64e-04)
data (3.62e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
data
,
offset
,
length
)
)
;
}
<SENTENCE_END/>
from,jsonfromparse (4.84e-01)
json (2.62e-01)
read (1.80e-01)
check (1.48e-02)
load (8.27e-03)
write (6.82e-03)
init (5.59e-03)
%UNK% (3.31e-03)
trim (2.59e-03)
new (2.07e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
json%END% (8.10e-01)
string (3.82e-02)
json (1.88e-02)
parse (1.21e-02)
%UNK% (1.20e-02)
read (5.83e-03)
file (5.54e-03)
equal (4.17e-03)
test (3.61e-03)
bytes (3.05e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.75e-01)
string (2.53e-03)
value (2.29e-03)
json (2.01e-03)
read (9.10e-04)
%UNK% (6.69e-04)
reader (6.18e-04)
type (6.06e-04)
file (5.01e-04)
all (4.71e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
null
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
from,jsonfromparse (4.69e-01)
json (2.22e-01)
read (1.88e-01)
check (2.81e-02)
write (1.62e-02)
load (8.36e-03)
%UNK% (6.73e-03)
init (5.46e-03)
new (4.95e-03)
trim (2.69e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
json%END% (6.90e-01)
string (6.08e-02)
json (4.58e-02)
%UNK% (1.90e-02)
parse (1.54e-02)
read (1.15e-02)
file (9.18e-03)
equal (7.95e-03)
object (5.80e-03)
test (5.74e-03)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.67e-01)
string (4.91e-03)
value (1.53e-03)
json (1.37e-03)
%UNK% (1.35e-03)
type (1.03e-03)
file (8.78e-04)
equal (8.24e-04)
at (6.64e-04)
element (5.91e-04)
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
read
value
(
type
,
element
type
,
new
json
reader
(
)
.
parse
(
json
)
)
;
}
<SENTENCE_END/>
read,fieldreadappend (5.38e-02)
load (5.35e-02)
parse (5.16e-02)
add (4.12e-02)
%UNK% (4.05e-02)
%END% (3.51e-02)
json (2.83e-02)
write (2.71e-02)
read (2.62e-02)
element (2.37e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
field%END% (8.43e-01)
object (8.48e-02)
string (7.12e-03)
value (6.24e-03)
by (5.21e-03)
animation (3.63e-03)
name (3.23e-03)
array (2.67e-03)
attribute (2.44e-03)
json (2.40e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
%END%%END% (9.81e-01)
object (1.09e-03)
json (1.03e-03)
value (1.03e-03)
string (1.00e-03)
name (7.83e-04)
by (7.09e-04)
animation (6.87e-04)
all (6.21e-04)
data (5.37e-04)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
read,fieldreadjson (1.84e-01)
element (8.39e-02)
parse (5.61e-02)
%UNK% (4.71e-02)
read (3.52e-02)
write (3.14e-02)
color (2.74e-02)
number (2.55e-02)
append (2.48e-02)
load (2.33e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
field%END% (6.56e-01)
object (1.65e-01)
element (2.34e-02)
by (2.19e-02)
string (1.61e-02)
animation (1.06e-02)
value (8.43e-03)
json (6.32e-03)
name (6.18e-03)
attribute (5.31e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
%END%%END% (9.49e-01)
element (4.00e-03)
by (3.35e-03)
object (2.82e-03)
string (2.73e-03)
animation (2.34e-03)
value (2.01e-03)
name (2.00e-03)
data (1.70e-03)
type (1.64e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
name
,
name
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
read,fieldreadjson (2.73e-01)
parse (8.39e-02)
read (5.55e-02)
%UNK% (5.31e-02)
append (2.99e-02)
load (2.88e-02)
number (2.27e-02)
object (2.20e-02)
%END% (1.84e-02)
write (1.83e-02)
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
field%END% (6.81e-01)
json (9.22e-02)
object (5.63e-02)
string (3.15e-02)
parse (8.14e-03)
xml (6.94e-03)
offsets (6.65e-03)
%UNK% (6.55e-03)
value (6.03e-03)
animation (5.29e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
%END%%END% (9.54e-01)
string (3.98e-03)
json (3.68e-03)
%UNK% (2.29e-03)
object (2.10e-03)
value (1.92e-03)
animation (1.48e-03)
header (1.34e-03)
model (1.25e-03)
offsets (1.20e-03)
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
object
,
field
name
,
json
name
,
null
,
json
data
)
;
}
<SENTENCE_END/>
read,fieldreadget (8.19e-01)
load (2.44e-02)
parse (1.51e-02)
generate (1.43e-02)
%UNK% (1.31e-02)
create (8.50e-03)
is (8.01e-03)
read (5.51e-03)
find (5.04e-03)
field (4.62e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
%SELF%
(
object
,
field
,
json
name
,
element
type
,
json
map
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
%SELF%
(
object
,
field
,
json
name
,
element
type
,
json
map
)
;
}
<SENTENCE_END/>
fieldfields (4.96e-01)
%END% (8.62e-02)
get (5.63e-02)
field (2.90e-02)
%UNK% (2.64e-02)
metadata (2.62e-02)
declared (1.35e-02)
type (1.30e-02)
element (8.49e-03)
string (7.29e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
%SELF%
(
object
,
field
,
json
name
,
element
type
,
json
map
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
%SELF%
(
object
,
field
,
json
name
,
element
type
,
json
map
)
;
}
<SENTENCE_END/>
%END%%END% (5.98e-01)
fields (1.61e-01)
%UNK% (1.39e-02)
type (1.24e-02)
field (1.15e-02)
get (9.55e-03)
string (7.47e-03)
metadata (6.63e-03)
name (6.49e-03)
class (5.81e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
%SELF%
(
object
,
field
,
json
name
,
element
type
,
json
map
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
field
metadata
metadata
=
fields
.
get
(
field
name
)
;
if
(
metadata
==
null
)
throw
new
serialization
exception
(
"Field not found: "
+
field
name
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
field
field
=
metadata
.
field
;
if
(
element
type
==
null
)
element
type
=
metadata
.
element
type
;
%SELF%
(
object
,
field
,
json
name
,
element
type
,
json
map
)
;
}
<SENTENCE_END/>
read,fieldreadparse (2.93e-01)
read (1.30e-01)
get (1.28e-01)
load (1.04e-01)
write (2.19e-02)
create (1.70e-02)
add (1.48e-02)
new (1.09e-02)
invoke (1.02e-02)
%UNK% (9.68e-03)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
json
name
)
;
if
(
json
value
==
null
)
return
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
element
type
,
json
value
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
json
value
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
json
name
)
;
if
(
json
value
==
null
)
return
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
element
type
,
json
value
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
json
value
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
field%END% (6.29e-01)
name (2.41e-02)
get (2.23e-02)
string (1.63e-02)
parse (1.43e-02)
attribute (1.30e-02)
%UNK% (9.75e-03)
to (8.37e-03)
field (7.97e-03)
declared (7.87e-03)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
json
name
)
;
if
(
json
value
==
null
)
return
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
element
type
,
json
value
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
json
value
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
json
name
)
;
if
(
json
value
==
null
)
return
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
element
type
,
json
value
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
json
value
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
%END%%END% (8.83e-01)
name (7.38e-03)
string (6.16e-03)
get (4.28e-03)
attribute (4.23e-03)
to (2.56e-03)
declared (2.41e-03)
%UNK% (2.30e-03)
value (2.20e-03)
field (2.16e-03)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
json
name
)
;
if
(
json
value
==
null
)
return
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
element
type
,
json
value
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
json
value
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
json
name
)
;
if
(
json
value
==
null
)
return
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
element
type
,
json
value
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
json
value
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
field
.
get
declaring
class
(
)
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
<SENTENCE_END/>
read,fieldsreadget (2.93e-01)
parse (1.33e-01)
load (4.82e-02)
add (4.50e-02)
read (3.79e-02)
create (2.59e-02)
%UNK% (2.27e-02)
write (2.06e-02)
%END% (1.53e-02)
name (1.15e-02)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
for
(
json
value
child
=
json
map
.
child
;
child
!=
null
;
child
=
child
.
next
)
{
field
metadata
metadata
=
fields
.
get
(
child
.
name
(
)
)
;
if
(
metadata
==
null
)
{
if
(
ignore
unknown
fields
)
{
if
(
debug
)
system
.
out
.
println
(
"Ignoring unknown field: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
continue
;
}
else
{
serialization
exception
ex
=
new
serialization
exception
(
"Field not found: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
throw
ex
;
}
}
field
field
=
metadata
.
field
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
metadata
.
element
type
,
child
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
for
(
json
value
child
=
json
map
.
child
;
child
!=
null
;
child
=
child
.
next
)
{
field
metadata
metadata
=
fields
.
get
(
child
.
name
(
)
)
;
if
(
metadata
==
null
)
{
if
(
ignore
unknown
fields
)
{
if
(
debug
)
system
.
out
.
println
(
"Ignoring unknown field: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
continue
;
}
else
{
serialization
exception
ex
=
new
serialization
exception
(
"Field not found: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
throw
ex
;
}
}
field
field
=
metadata
.
field
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
metadata
.
element
type
,
child
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
fields%END% (4.64e-01)
get (4.09e-02)
fields (2.59e-02)
name (2.40e-02)
string (1.57e-02)
field (1.50e-02)
%UNK% (1.46e-02)
to (1.11e-02)
parse (1.02e-02)
attribute (9.68e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
for
(
json
value
child
=
json
map
.
child
;
child
!=
null
;
child
=
child
.
next
)
{
field
metadata
metadata
=
fields
.
get
(
child
.
name
(
)
)
;
if
(
metadata
==
null
)
{
if
(
ignore
unknown
fields
)
{
if
(
debug
)
system
.
out
.
println
(
"Ignoring unknown field: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
continue
;
}
else
{
serialization
exception
ex
=
new
serialization
exception
(
"Field not found: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
throw
ex
;
}
}
field
field
=
metadata
.
field
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
metadata
.
element
type
,
child
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
for
(
json
value
child
=
json
map
.
child
;
child
!=
null
;
child
=
child
.
next
)
{
field
metadata
metadata
=
fields
.
get
(
child
.
name
(
)
)
;
if
(
metadata
==
null
)
{
if
(
ignore
unknown
fields
)
{
if
(
debug
)
system
.
out
.
println
(
"Ignoring unknown field: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
continue
;
}
else
{
serialization
exception
ex
=
new
serialization
exception
(
"Field not found: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
throw
ex
;
}
}
field
field
=
metadata
.
field
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
metadata
.
element
type
,
child
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
%END%%END% (7.91e-01)
name (1.09e-02)
string (8.91e-03)
get (8.63e-03)
%UNK% (5.70e-03)
to (5.33e-03)
attribute (5.22e-03)
fields (4.78e-03)
field (3.85e-03)
child (3.52e-03)
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
for
(
json
value
child
=
json
map
.
child
;
child
!=
null
;
child
=
child
.
next
)
{
field
metadata
metadata
=
fields
.
get
(
child
.
name
(
)
)
;
if
(
metadata
==
null
)
{
if
(
ignore
unknown
fields
)
{
if
(
debug
)
system
.
out
.
println
(
"Ignoring unknown field: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
continue
;
}
else
{
serialization
exception
ex
=
new
serialization
exception
(
"Field not found: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
throw
ex
;
}
}
field
field
=
metadata
.
field
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
metadata
.
element
type
,
child
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
object
.
get
class
(
)
;
object
map
<
string
,
field
metadata
>
fields
=
get
fields
(
type
)
;
for
(
json
value
child
=
json
map
.
child
;
child
!=
null
;
child
=
child
.
next
)
{
field
metadata
metadata
=
fields
.
get
(
child
.
name
(
)
)
;
if
(
metadata
==
null
)
{
if
(
ignore
unknown
fields
)
{
if
(
debug
)
system
.
out
.
println
(
"Ignoring unknown field: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
continue
;
}
else
{
serialization
exception
ex
=
new
serialization
exception
(
"Field not found: "
+
child
.
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
throw
ex
;
}
}
field
field
=
metadata
.
field
;
try
{
field
.
set
(
object
,
read
value
(
field
.
get
type
(
)
,
metadata
.
element
type
,
child
)
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
"Error accessing field: "
+
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
,
ex
)
;
}
catch
(
serialization
exception
ex
)
{
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
catch
(
runtime
exception
runtime
ex
)
{
serialization
exception
ex
=
new
serialization
exception
(
runtime
ex
)
;
ex
.
add
trace
(
child
.
trace
(
)
)
;
ex
.
add
trace
(
field
.
get
name
(
)
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
throw
ex
;
}
}
}
<SENTENCE_END/>
read,valuereadget (9.38e-01)
is (3.72e-03)
read (3.60e-03)
%UNK% (3.45e-03)
obtain (2.31e-03)
instance (2.00e-03)
type (1.56e-03)
to (1.55e-03)
set (1.49e-03)
pop (1.42e-03)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
value%END% (7.20e-01)
string (3.44e-02)
by (2.48e-02)
%UNK% (1.70e-02)
type (1.19e-02)
from (7.65e-03)
object (7.04e-03)
json (6.39e-03)
to (6.27e-03)
element (5.14e-03)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.79e-01)
string (1.62e-03)
get (1.27e-03)
all (9.95e-04)
by (9.55e-04)
type (8.46e-04)
map (7.26e-04)
at (5.38e-04)
return (3.83e-04)
%UNK% (3.76e-04)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
read,valuereadread (1.57e-01)
load (1.09e-01)
append (1.09e-01)
get (1.07e-01)
value (8.52e-02)
parse (8.04e-02)
json (4.93e-02)
%UNK% (3.71e-02)
number (2.40e-02)
check (1.84e-02)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
if
(
json
value
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
null
,
json
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
if
(
json
value
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
null
,
json
value
)
;
}
<SENTENCE_END/>
value%END% (6.39e-01)
value (8.35e-02)
string (4.26e-02)
json (3.36e-02)
default (2.46e-02)
object (1.28e-02)
%UNK% (1.10e-02)
parse (7.96e-03)
read (7.13e-03)
map (4.96e-03)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
if
(
json
value
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
null
,
json
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
if
(
json
value
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
null
,
json
value
)
;
}
<SENTENCE_END/>
%END%%END% (9.53e-01)
value (1.20e-02)
string (4.30e-03)
json (1.87e-03)
object (1.48e-03)
get (1.23e-03)
by (1.00e-03)
map (9.40e-04)
return (9.13e-04)
type (7.94e-04)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
if
(
json
value
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
null
,
json
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
if
(
json
value
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
null
,
json
value
)
;
}
<SENTENCE_END/>
read,valuereadget (8.57e-01)
read (1.15e-02)
%UNK% (1.01e-02)
element (5.83e-03)
set (5.38e-03)
write (3.77e-03)
to (3.21e-03)
load (3.15e-03)
is (3.14e-03)
instance (2.89e-03)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
element
type
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
element
type
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
value%END% (6.11e-01)
by (4.95e-02)
string (3.87e-02)
element (3.13e-02)
type (2.46e-02)
%UNK% (1.94e-02)
from (1.00e-02)
name (9.32e-03)
object (8.61e-03)
to (7.05e-03)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
element
type
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
element
type
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
%END%%END% (9.55e-01)
string (4.06e-03)
by (3.51e-03)
type (1.82e-03)
element (1.48e-03)
map (1.40e-03)
get (1.13e-03)
%UNK% (1.09e-03)
at (1.02e-03)
object (9.88e-04)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
element
type
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
element
type
,
json
map
.
get
(
name
)
)
;
}
<SENTENCE_END/>
read,valuereadjson (2.11e-01)
read (1.04e-01)
parse (7.30e-02)
%UNK% (6.91e-02)
load (6.08e-02)
append (4.70e-02)
check (4.08e-02)
value (3.93e-02)
number (3.25e-02)
get (2.43e-02)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
return
(
t
)
%SELF%
(
type
,
element
type
,
default
value
,
json
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
return
(
t
)
%SELF%
(
type
,
element
type
,
default
value
,
json
value
)
;
}
<SENTENCE_END/>
value%END% (7.27e-01)
value (4.06e-02)
string (3.73e-02)
json (2.87e-02)
object (1.25e-02)
%UNK% (1.21e-02)
from (5.92e-03)
type (5.60e-03)
read (4.46e-03)
default (4.45e-03)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
return
(
t
)
%SELF%
(
type
,
element
type
,
default
value
,
json
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
return
(
t
)
%SELF%
(
type
,
element
type
,
default
value
,
json
value
)
;
}
<SENTENCE_END/>
%END%%END% (9.51e-01)
value (8.53e-03)
string (5.64e-03)
type (2.61e-03)
json (2.11e-03)
object (2.03e-03)
by (1.44e-03)
%UNK% (1.00e-03)
element (8.93e-04)
get (8.16e-04)
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
return
(
t
)
%SELF%
(
type
,
element
type
,
default
value
,
json
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
json
value
json
value
=
json
map
.
get
(
name
)
;
return
(
t
)
%SELF%
(
type
,
element
type
,
default
value
,
json
value
)
;
}
<SENTENCE_END/>
read,valuereadget (5.72e-01)
parse (9.99e-02)
read (4.13e-02)
%UNK% (4.02e-02)
is (2.44e-02)
append (1.62e-02)
load (1.53e-02)
check (1.17e-02)
default (8.49e-03)
element (5.83e-03)
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
value%END% (7.38e-01)
string (3.67e-02)
default (1.96e-02)
json (1.69e-02)
%UNK% (1.59e-02)
by (1.55e-02)
type (1.41e-02)
object (1.17e-02)
value (8.40e-03)
parse (5.93e-03)
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
%END%%END% (9.62e-01)
string (3.12e-03)
by (3.09e-03)
value (2.56e-03)
data (2.53e-03)
type (2.10e-03)
object (1.58e-03)
json (1.51e-03)
%UNK% (1.09e-03)
element (9.47e-04)
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
default
value
;
return
(
t
)
%SELF%
(
type
,
element
type
,
json
data
)
;
}
<SENTENCE_END/>
read,valuereadget (7.64e-01)
%UNK% (3.33e-02)
read (1.85e-02)
obtain (9.18e-03)
is (8.02e-03)
instance (6.83e-03)
pop (6.59e-03)
for (5.81e-03)
add (4.38e-03)
to (4.16e-03)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
data
)
;
}
<SENTENCE_END/>
value%END% (7.91e-01)
by (4.03e-02)
%UNK% (1.70e-02)
type (1.63e-02)
string (1.46e-02)
object (7.61e-03)
of (3.59e-03)
element (3.58e-03)
from (3.30e-03)
json (3.09e-03)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
data
)
;
}
<SENTENCE_END/>
%END%%END% (9.64e-01)
by (4.49e-03)
%UNK% (2.25e-03)
string (1.99e-03)
all (1.41e-03)
object (1.07e-03)
value (8.86e-04)
type (8.82e-04)
json (7.72e-04)
array (7.09e-04)
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
t
)
%SELF%
(
type
,
null
,
json
data
)
;
}
<SENTENCE_END/>
read,valueread%END% (1.96e-01)
get (1.06e-01)
%UNK% (7.30e-02)
to (3.79e-02)
string (3.41e-02)
read (3.13e-02)
parse (1.54e-02)
instance (1.46e-02)
type (1.27e-02)
is (1.24e-02)
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
null
;
if
(
json
data
.
is
object
(
)
)
{
string
class
name
=
type
name
==
null
?
null
:
json
data
.
get
string
(
type
name
,
null
)
;
if
(
class
name
!=
null
)
{
json
data
.
remove
(
type
name
)
;
type
=
get
class
(
class
name
)
;
if
(
type
==
null
)
{
try
{
type
=
(
class
<
t
>
)
class
reflection
.
for
name
(
class
name
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
}
if
(
type
==
null
)
{
if
(
default
serializer
!=
null
)
return
(
t
)
default
serializer
.
read
(
this
,
json
data
,
type
)
;
return
(
t
)
json
data
;
}
if
(
type
name
!=
null
&&
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
json
data
=
json
data
.
get
(
"items"
)
;
}
else
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
if
(
type
==
string
.
class
||
type
==
integer
.
class
||
type
==
boolean
.
class
||
type
==
float
.
class
||
type
==
long
.
class
||
type
==
double
.
class
||
type
==
short
.
class
||
type
==
byte
.
class
||
type
==
character
.
class
||
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
return
%SELF%
(
"value"
,
type
,
json
data
)
;
}
object
object
=
new
instance
(
type
)
;
if
(
object
instanceof
serializable
)
{
(
(
serializable
)
object
)
.
read
(
this
,
json
data
)
;
return
(
t
)
object
;
}
if
(
object
instanceof
object
map
)
{
object
map
result
=
(
object
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
array
map
)
{
array
map
result
=
(
array
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
map
)
{
map
result
=
(
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
read
fields
(
object
,
json
data
)
;
return
(
t
)
object
;
}
}
if
(
type
!=
null
)
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
}
if
(
json
data
.
is
array
(
)
)
{
if
(
type
==
null
||
type
==
object
.
class
)
type
=
(
class
<
t
>
)
array
.
class
;
if
(
class
reflection
.
is
assignable
from
(
array
.
class
,
type
)
)
{
array
result
=
type
==
array
.
class
?
new
array
(
)
:
(
array
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
queue
.
class
,
type
)
)
{
queue
result
=
type
==
queue
.
class
?
new
queue
(
)
:
(
queue
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
last
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
collection
result
=
type
.
is
interface
(
)
?
new
array
list
(
)
:
(
collection
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
type
.
is
array
(
)
)
{
class
component
type
=
type
.
get
component
type
(
)
;
if
(
element
type
==
null
)
element
type
=
component
type
;
object
result
=
array
reflection
.
new
instance
(
component
type
,
json
data
.
size
)
;
int
i
=
0
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
array
reflection
.
set
(
result
,
i
++
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
if
(
json
data
.
is
number
(
)
)
{
try
{
if
(
type
==
null
||
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
(
float
)
json
data
.
as
float
(
)
;
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
(
integer
)
json
data
.
as
int
(
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
(
long
)
json
data
.
as
long
(
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
(
double
)
json
data
.
as
double
(
)
;
if
(
type
==
string
.
class
)
return
(
t
)
json
data
.
as
string
(
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
(
short
)
json
data
.
as
short
(
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
(
byte
)
json
data
.
as
byte
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
boolean
(
)
)
{
try
{
if
(
type
==
null
||
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
(
boolean
)
json
data
.
as
boolean
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
string
(
)
)
{
string
string
=
json
data
.
as
string
(
)
;
if
(
type
==
null
||
type
==
string
.
class
)
return
(
t
)
string
;
try
{
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
integer
.
value
of
(
string
)
;
if
(
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
float
.
value
of
(
string
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
long
.
value
of
(
string
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
double
.
value
of
(
string
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
short
.
value
of
(
string
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
byte
.
value
of
(
string
)
;
}
catch
(
number
format
exception
ignored
)
{
}
if
(
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
boolean
.
value
of
(
string
)
;
if
(
type
==
char
.
class
||
type
==
character
.
class
)
return
(
t
)
(
character
)
string
.
char
at
(
0
)
;
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
enum
[
]
constants
=
(
enum
[
]
)
type
.
get
enum
constants
(
)
;
for
(
int
i
=
0
,
n
=
constants
.
length
;
i
<
n
;
i
++
)
{
enum
e
=
constants
[
i
]
;
if
(
string
.
equals
(
convert
to
string
(
e
)
)
)
return
(
t
)
e
;
}
}
if
(
type
==
char
sequence
.
class
)
return
(
t
)
string
;
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
null
;
if
(
json
data
.
is
object
(
)
)
{
string
class
name
=
type
name
==
null
?
null
:
json
data
.
get
string
(
type
name
,
null
)
;
if
(
class
name
!=
null
)
{
json
data
.
remove
(
type
name
)
;
type
=
get
class
(
class
name
)
;
if
(
type
==
null
)
{
try
{
type
=
(
class
<
t
>
)
class
reflection
.
for
name
(
class
name
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
}
if
(
type
==
null
)
{
if
(
default
serializer
!=
null
)
return
(
t
)
default
serializer
.
read
(
this
,
json
data
,
type
)
;
return
(
t
)
json
data
;
}
if
(
type
name
!=
null
&&
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
json
data
=
json
data
.
get
(
"items"
)
;
}
else
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
if
(
type
==
string
.
class
||
type
==
integer
.
class
||
type
==
boolean
.
class
||
type
==
float
.
class
||
type
==
long
.
class
||
type
==
double
.
class
||
type
==
short
.
class
||
type
==
byte
.
class
||
type
==
character
.
class
||
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
return
%SELF%
(
"value"
,
type
,
json
data
)
;
}
object
object
=
new
instance
(
type
)
;
if
(
object
instanceof
serializable
)
{
(
(
serializable
)
object
)
.
read
(
this
,
json
data
)
;
return
(
t
)
object
;
}
if
(
object
instanceof
object
map
)
{
object
map
result
=
(
object
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
array
map
)
{
array
map
result
=
(
array
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
map
)
{
map
result
=
(
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
read
fields
(
object
,
json
data
)
;
return
(
t
)
object
;
}
}
if
(
type
!=
null
)
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
}
if
(
json
data
.
is
array
(
)
)
{
if
(
type
==
null
||
type
==
object
.
class
)
type
=
(
class
<
t
>
)
array
.
class
;
if
(
class
reflection
.
is
assignable
from
(
array
.
class
,
type
)
)
{
array
result
=
type
==
array
.
class
?
new
array
(
)
:
(
array
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
queue
.
class
,
type
)
)
{
queue
result
=
type
==
queue
.
class
?
new
queue
(
)
:
(
queue
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
last
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
collection
result
=
type
.
is
interface
(
)
?
new
array
list
(
)
:
(
collection
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
type
.
is
array
(
)
)
{
class
component
type
=
type
.
get
component
type
(
)
;
if
(
element
type
==
null
)
element
type
=
component
type
;
object
result
=
array
reflection
.
new
instance
(
component
type
,
json
data
.
size
)
;
int
i
=
0
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
array
reflection
.
set
(
result
,
i
++
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
if
(
json
data
.
is
number
(
)
)
{
try
{
if
(
type
==
null
||
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
(
float
)
json
data
.
as
float
(
)
;
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
(
integer
)
json
data
.
as
int
(
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
(
long
)
json
data
.
as
long
(
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
(
double
)
json
data
.
as
double
(
)
;
if
(
type
==
string
.
class
)
return
(
t
)
json
data
.
as
string
(
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
(
short
)
json
data
.
as
short
(
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
(
byte
)
json
data
.
as
byte
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
boolean
(
)
)
{
try
{
if
(
type
==
null
||
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
(
boolean
)
json
data
.
as
boolean
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
string
(
)
)
{
string
string
=
json
data
.
as
string
(
)
;
if
(
type
==
null
||
type
==
string
.
class
)
return
(
t
)
string
;
try
{
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
integer
.
value
of
(
string
)
;
if
(
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
float
.
value
of
(
string
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
long
.
value
of
(
string
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
double
.
value
of
(
string
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
short
.
value
of
(
string
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
byte
.
value
of
(
string
)
;
}
catch
(
number
format
exception
ignored
)
{
}
if
(
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
boolean
.
value
of
(
string
)
;
if
(
type
==
char
.
class
||
type
==
character
.
class
)
return
(
t
)
(
character
)
string
.
char
at
(
0
)
;
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
enum
[
]
constants
=
(
enum
[
]
)
type
.
get
enum
constants
(
)
;
for
(
int
i
=
0
,
n
=
constants
.
length
;
i
<
n
;
i
++
)
{
enum
e
=
constants
[
i
]
;
if
(
string
.
equals
(
convert
to
string
(
e
)
)
)
return
(
t
)
e
;
}
}
if
(
type
==
char
sequence
.
class
)
return
(
t
)
string
;
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
return
null
;
}
<SENTENCE_END/>
value%END% (6.07e-01)
string (3.11e-02)
%UNK% (3.04e-02)
to (1.71e-02)
get (1.56e-02)
type (1.00e-02)
by (9.50e-03)
object (7.82e-03)
read (6.93e-03)
instance (6.91e-03)
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
null
;
if
(
json
data
.
is
object
(
)
)
{
string
class
name
=
type
name
==
null
?
null
:
json
data
.
get
string
(
type
name
,
null
)
;
if
(
class
name
!=
null
)
{
json
data
.
remove
(
type
name
)
;
type
=
get
class
(
class
name
)
;
if
(
type
==
null
)
{
try
{
type
=
(
class
<
t
>
)
class
reflection
.
for
name
(
class
name
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
}
if
(
type
==
null
)
{
if
(
default
serializer
!=
null
)
return
(
t
)
default
serializer
.
read
(
this
,
json
data
,
type
)
;
return
(
t
)
json
data
;
}
if
(
type
name
!=
null
&&
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
json
data
=
json
data
.
get
(
"items"
)
;
}
else
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
if
(
type
==
string
.
class
||
type
==
integer
.
class
||
type
==
boolean
.
class
||
type
==
float
.
class
||
type
==
long
.
class
||
type
==
double
.
class
||
type
==
short
.
class
||
type
==
byte
.
class
||
type
==
character
.
class
||
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
return
%SELF%
(
"value"
,
type
,
json
data
)
;
}
object
object
=
new
instance
(
type
)
;
if
(
object
instanceof
serializable
)
{
(
(
serializable
)
object
)
.
read
(
this
,
json
data
)
;
return
(
t
)
object
;
}
if
(
object
instanceof
object
map
)
{
object
map
result
=
(
object
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
array
map
)
{
array
map
result
=
(
array
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
map
)
{
map
result
=
(
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
read
fields
(
object
,
json
data
)
;
return
(
t
)
object
;
}
}
if
(
type
!=
null
)
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
}
if
(
json
data
.
is
array
(
)
)
{
if
(
type
==
null
||
type
==
object
.
class
)
type
=
(
class
<
t
>
)
array
.
class
;
if
(
class
reflection
.
is
assignable
from
(
array
.
class
,
type
)
)
{
array
result
=
type
==
array
.
class
?
new
array
(
)
:
(
array
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
queue
.
class
,
type
)
)
{
queue
result
=
type
==
queue
.
class
?
new
queue
(
)
:
(
queue
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
last
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
collection
result
=
type
.
is
interface
(
)
?
new
array
list
(
)
:
(
collection
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
type
.
is
array
(
)
)
{
class
component
type
=
type
.
get
component
type
(
)
;
if
(
element
type
==
null
)
element
type
=
component
type
;
object
result
=
array
reflection
.
new
instance
(
component
type
,
json
data
.
size
)
;
int
i
=
0
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
array
reflection
.
set
(
result
,
i
++
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
if
(
json
data
.
is
number
(
)
)
{
try
{
if
(
type
==
null
||
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
(
float
)
json
data
.
as
float
(
)
;
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
(
integer
)
json
data
.
as
int
(
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
(
long
)
json
data
.
as
long
(
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
(
double
)
json
data
.
as
double
(
)
;
if
(
type
==
string
.
class
)
return
(
t
)
json
data
.
as
string
(
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
(
short
)
json
data
.
as
short
(
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
(
byte
)
json
data
.
as
byte
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
boolean
(
)
)
{
try
{
if
(
type
==
null
||
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
(
boolean
)
json
data
.
as
boolean
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
string
(
)
)
{
string
string
=
json
data
.
as
string
(
)
;
if
(
type
==
null
||
type
==
string
.
class
)
return
(
t
)
string
;
try
{
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
integer
.
value
of
(
string
)
;
if
(
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
float
.
value
of
(
string
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
long
.
value
of
(
string
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
double
.
value
of
(
string
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
short
.
value
of
(
string
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
byte
.
value
of
(
string
)
;
}
catch
(
number
format
exception
ignored
)
{
}
if
(
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
boolean
.
value
of
(
string
)
;
if
(
type
==
char
.
class
||
type
==
character
.
class
)
return
(
t
)
(
character
)
string
.
char
at
(
0
)
;
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
enum
[
]
constants
=
(
enum
[
]
)
type
.
get
enum
constants
(
)
;
for
(
int
i
=
0
,
n
=
constants
.
length
;
i
<
n
;
i
++
)
{
enum
e
=
constants
[
i
]
;
if
(
string
.
equals
(
convert
to
string
(
e
)
)
)
return
(
t
)
e
;
}
}
if
(
type
==
char
sequence
.
class
)
return
(
t
)
string
;
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
null
;
if
(
json
data
.
is
object
(
)
)
{
string
class
name
=
type
name
==
null
?
null
:
json
data
.
get
string
(
type
name
,
null
)
;
if
(
class
name
!=
null
)
{
json
data
.
remove
(
type
name
)
;
type
=
get
class
(
class
name
)
;
if
(
type
==
null
)
{
try
{
type
=
(
class
<
t
>
)
class
reflection
.
for
name
(
class
name
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
}
if
(
type
==
null
)
{
if
(
default
serializer
!=
null
)
return
(
t
)
default
serializer
.
read
(
this
,
json
data
,
type
)
;
return
(
t
)
json
data
;
}
if
(
type
name
!=
null
&&
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
json
data
=
json
data
.
get
(
"items"
)
;
}
else
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
if
(
type
==
string
.
class
||
type
==
integer
.
class
||
type
==
boolean
.
class
||
type
==
float
.
class
||
type
==
long
.
class
||
type
==
double
.
class
||
type
==
short
.
class
||
type
==
byte
.
class
||
type
==
character
.
class
||
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
return
%SELF%
(
"value"
,
type
,
json
data
)
;
}
object
object
=
new
instance
(
type
)
;
if
(
object
instanceof
serializable
)
{
(
(
serializable
)
object
)
.
read
(
this
,
json
data
)
;
return
(
t
)
object
;
}
if
(
object
instanceof
object
map
)
{
object
map
result
=
(
object
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
array
map
)
{
array
map
result
=
(
array
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
map
)
{
map
result
=
(
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
read
fields
(
object
,
json
data
)
;
return
(
t
)
object
;
}
}
if
(
type
!=
null
)
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
}
if
(
json
data
.
is
array
(
)
)
{
if
(
type
==
null
||
type
==
object
.
class
)
type
=
(
class
<
t
>
)
array
.
class
;
if
(
class
reflection
.
is
assignable
from
(
array
.
class
,
type
)
)
{
array
result
=
type
==
array
.
class
?
new
array
(
)
:
(
array
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
queue
.
class
,
type
)
)
{
queue
result
=
type
==
queue
.
class
?
new
queue
(
)
:
(
queue
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
last
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
collection
result
=
type
.
is
interface
(
)
?
new
array
list
(
)
:
(
collection
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
type
.
is
array
(
)
)
{
class
component
type
=
type
.
get
component
type
(
)
;
if
(
element
type
==
null
)
element
type
=
component
type
;
object
result
=
array
reflection
.
new
instance
(
component
type
,
json
data
.
size
)
;
int
i
=
0
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
array
reflection
.
set
(
result
,
i
++
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
if
(
json
data
.
is
number
(
)
)
{
try
{
if
(
type
==
null
||
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
(
float
)
json
data
.
as
float
(
)
;
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
(
integer
)
json
data
.
as
int
(
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
(
long
)
json
data
.
as
long
(
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
(
double
)
json
data
.
as
double
(
)
;
if
(
type
==
string
.
class
)
return
(
t
)
json
data
.
as
string
(
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
(
short
)
json
data
.
as
short
(
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
(
byte
)
json
data
.
as
byte
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
boolean
(
)
)
{
try
{
if
(
type
==
null
||
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
(
boolean
)
json
data
.
as
boolean
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
string
(
)
)
{
string
string
=
json
data
.
as
string
(
)
;
if
(
type
==
null
||
type
==
string
.
class
)
return
(
t
)
string
;
try
{
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
integer
.
value
of
(
string
)
;
if
(
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
float
.
value
of
(
string
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
long
.
value
of
(
string
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
double
.
value
of
(
string
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
short
.
value
of
(
string
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
byte
.
value
of
(
string
)
;
}
catch
(
number
format
exception
ignored
)
{
}
if
(
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
boolean
.
value
of
(
string
)
;
if
(
type
==
char
.
class
||
type
==
character
.
class
)
return
(
t
)
(
character
)
string
.
char
at
(
0
)
;
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
enum
[
]
constants
=
(
enum
[
]
)
type
.
get
enum
constants
(
)
;
for
(
int
i
=
0
,
n
=
constants
.
length
;
i
<
n
;
i
++
)
{
enum
e
=
constants
[
i
]
;
if
(
string
.
equals
(
convert
to
string
(
e
)
)
)
return
(
t
)
e
;
}
}
if
(
type
==
char
sequence
.
class
)
return
(
t
)
string
;
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
return
null
;
}
<SENTENCE_END/>
%END%%END% (7.18e-01)
string (2.40e-02)
%UNK% (2.11e-02)
to (1.20e-02)
get (7.79e-03)
by (7.67e-03)
type (6.79e-03)
object (5.81e-03)
instance (4.74e-03)
value (4.32e-03)
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
null
;
if
(
json
data
.
is
object
(
)
)
{
string
class
name
=
type
name
==
null
?
null
:
json
data
.
get
string
(
type
name
,
null
)
;
if
(
class
name
!=
null
)
{
json
data
.
remove
(
type
name
)
;
type
=
get
class
(
class
name
)
;
if
(
type
==
null
)
{
try
{
type
=
(
class
<
t
>
)
class
reflection
.
for
name
(
class
name
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
}
if
(
type
==
null
)
{
if
(
default
serializer
!=
null
)
return
(
t
)
default
serializer
.
read
(
this
,
json
data
,
type
)
;
return
(
t
)
json
data
;
}
if
(
type
name
!=
null
&&
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
json
data
=
json
data
.
get
(
"items"
)
;
}
else
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
if
(
type
==
string
.
class
||
type
==
integer
.
class
||
type
==
boolean
.
class
||
type
==
float
.
class
||
type
==
long
.
class
||
type
==
double
.
class
||
type
==
short
.
class
||
type
==
byte
.
class
||
type
==
character
.
class
||
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
return
%SELF%
(
"value"
,
type
,
json
data
)
;
}
object
object
=
new
instance
(
type
)
;
if
(
object
instanceof
serializable
)
{
(
(
serializable
)
object
)
.
read
(
this
,
json
data
)
;
return
(
t
)
object
;
}
if
(
object
instanceof
object
map
)
{
object
map
result
=
(
object
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
array
map
)
{
array
map
result
=
(
array
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
map
)
{
map
result
=
(
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
read
fields
(
object
,
json
data
)
;
return
(
t
)
object
;
}
}
if
(
type
!=
null
)
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
}
if
(
json
data
.
is
array
(
)
)
{
if
(
type
==
null
||
type
==
object
.
class
)
type
=
(
class
<
t
>
)
array
.
class
;
if
(
class
reflection
.
is
assignable
from
(
array
.
class
,
type
)
)
{
array
result
=
type
==
array
.
class
?
new
array
(
)
:
(
array
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
queue
.
class
,
type
)
)
{
queue
result
=
type
==
queue
.
class
?
new
queue
(
)
:
(
queue
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
last
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
collection
result
=
type
.
is
interface
(
)
?
new
array
list
(
)
:
(
collection
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
type
.
is
array
(
)
)
{
class
component
type
=
type
.
get
component
type
(
)
;
if
(
element
type
==
null
)
element
type
=
component
type
;
object
result
=
array
reflection
.
new
instance
(
component
type
,
json
data
.
size
)
;
int
i
=
0
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
array
reflection
.
set
(
result
,
i
++
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
if
(
json
data
.
is
number
(
)
)
{
try
{
if
(
type
==
null
||
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
(
float
)
json
data
.
as
float
(
)
;
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
(
integer
)
json
data
.
as
int
(
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
(
long
)
json
data
.
as
long
(
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
(
double
)
json
data
.
as
double
(
)
;
if
(
type
==
string
.
class
)
return
(
t
)
json
data
.
as
string
(
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
(
short
)
json
data
.
as
short
(
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
(
byte
)
json
data
.
as
byte
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
boolean
(
)
)
{
try
{
if
(
type
==
null
||
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
(
boolean
)
json
data
.
as
boolean
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
string
(
)
)
{
string
string
=
json
data
.
as
string
(
)
;
if
(
type
==
null
||
type
==
string
.
class
)
return
(
t
)
string
;
try
{
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
integer
.
value
of
(
string
)
;
if
(
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
float
.
value
of
(
string
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
long
.
value
of
(
string
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
double
.
value
of
(
string
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
short
.
value
of
(
string
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
byte
.
value
of
(
string
)
;
}
catch
(
number
format
exception
ignored
)
{
}
if
(
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
boolean
.
value
of
(
string
)
;
if
(
type
==
char
.
class
||
type
==
character
.
class
)
return
(
t
)
(
character
)
string
.
char
at
(
0
)
;
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
enum
[
]
constants
=
(
enum
[
]
)
type
.
get
enum
constants
(
)
;
for
(
int
i
=
0
,
n
=
constants
.
length
;
i
<
n
;
i
++
)
{
enum
e
=
constants
[
i
]
;
if
(
string
.
equals
(
convert
to
string
(
e
)
)
)
return
(
t
)
e
;
}
}
if
(
type
==
char
sequence
.
class
)
return
(
t
)
string
;
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
json
data
==
null
)
return
null
;
if
(
json
data
.
is
object
(
)
)
{
string
class
name
=
type
name
==
null
?
null
:
json
data
.
get
string
(
type
name
,
null
)
;
if
(
class
name
!=
null
)
{
json
data
.
remove
(
type
name
)
;
type
=
get
class
(
class
name
)
;
if
(
type
==
null
)
{
try
{
type
=
(
class
<
t
>
)
class
reflection
.
for
name
(
class
name
)
;
}
catch
(
reflection
exception
ex
)
{
throw
new
serialization
exception
(
ex
)
;
}
}
}
if
(
type
==
null
)
{
if
(
default
serializer
!=
null
)
return
(
t
)
default
serializer
.
read
(
this
,
json
data
,
type
)
;
return
(
t
)
json
data
;
}
if
(
type
name
!=
null
&&
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
json
data
=
json
data
.
get
(
"items"
)
;
}
else
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
if
(
type
==
string
.
class
||
type
==
integer
.
class
||
type
==
boolean
.
class
||
type
==
float
.
class
||
type
==
long
.
class
||
type
==
double
.
class
||
type
==
short
.
class
||
type
==
byte
.
class
||
type
==
character
.
class
||
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
return
%SELF%
(
"value"
,
type
,
json
data
)
;
}
object
object
=
new
instance
(
type
)
;
if
(
object
instanceof
serializable
)
{
(
(
serializable
)
object
)
.
read
(
this
,
json
data
)
;
return
(
t
)
object
;
}
if
(
object
instanceof
object
map
)
{
object
map
result
=
(
object
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
array
map
)
{
array
map
result
=
(
array
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
object
instanceof
map
)
{
map
result
=
(
map
)
object
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
put
(
child
.
name
(
)
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
read
fields
(
object
,
json
data
)
;
return
(
t
)
object
;
}
}
if
(
type
!=
null
)
{
serializer
serializer
=
class
to
serializer
.
get
(
type
)
;
if
(
serializer
!=
null
)
return
(
t
)
serializer
.
read
(
this
,
json
data
,
type
)
;
}
if
(
json
data
.
is
array
(
)
)
{
if
(
type
==
null
||
type
==
object
.
class
)
type
=
(
class
<
t
>
)
array
.
class
;
if
(
class
reflection
.
is
assignable
from
(
array
.
class
,
type
)
)
{
array
result
=
type
==
array
.
class
?
new
array
(
)
:
(
array
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
queue
.
class
,
type
)
)
{
queue
result
=
type
==
queue
.
class
?
new
queue
(
)
:
(
queue
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
last
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
class
reflection
.
is
assignable
from
(
collection
.
class
,
type
)
)
{
collection
result
=
type
.
is
interface
(
)
?
new
array
list
(
)
:
(
collection
)
new
instance
(
type
)
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
result
.
add
(
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
if
(
type
.
is
array
(
)
)
{
class
component
type
=
type
.
get
component
type
(
)
;
if
(
element
type
==
null
)
element
type
=
component
type
;
object
result
=
array
reflection
.
new
instance
(
component
type
,
json
data
.
size
)
;
int
i
=
0
;
for
(
json
value
child
=
json
data
.
child
;
child
!=
null
;
child
=
child
.
next
)
array
reflection
.
set
(
result
,
i
++
,
%SELF%
(
element
type
,
null
,
child
)
)
;
return
(
t
)
result
;
}
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
if
(
json
data
.
is
number
(
)
)
{
try
{
if
(
type
==
null
||
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
(
float
)
json
data
.
as
float
(
)
;
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
(
integer
)
json
data
.
as
int
(
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
(
long
)
json
data
.
as
long
(
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
(
double
)
json
data
.
as
double
(
)
;
if
(
type
==
string
.
class
)
return
(
t
)
json
data
.
as
string
(
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
(
short
)
json
data
.
as
short
(
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
(
byte
)
json
data
.
as
byte
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
boolean
(
)
)
{
try
{
if
(
type
==
null
||
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
(
boolean
)
json
data
.
as
boolean
(
)
;
}
catch
(
number
format
exception
ignored
)
{
}
json
data
=
new
json
value
(
json
data
.
as
string
(
)
)
;
}
if
(
json
data
.
is
string
(
)
)
{
string
string
=
json
data
.
as
string
(
)
;
if
(
type
==
null
||
type
==
string
.
class
)
return
(
t
)
string
;
try
{
if
(
type
==
int
.
class
||
type
==
integer
.
class
)
return
(
t
)
integer
.
value
of
(
string
)
;
if
(
type
==
float
.
class
||
type
==
float
.
class
)
return
(
t
)
float
.
value
of
(
string
)
;
if
(
type
==
long
.
class
||
type
==
long
.
class
)
return
(
t
)
long
.
value
of
(
string
)
;
if
(
type
==
double
.
class
||
type
==
double
.
class
)
return
(
t
)
double
.
value
of
(
string
)
;
if
(
type
==
short
.
class
||
type
==
short
.
class
)
return
(
t
)
short
.
value
of
(
string
)
;
if
(
type
==
byte
.
class
||
type
==
byte
.
class
)
return
(
t
)
byte
.
value
of
(
string
)
;
}
catch
(
number
format
exception
ignored
)
{
}
if
(
type
==
boolean
.
class
||
type
==
boolean
.
class
)
return
(
t
)
boolean
.
value
of
(
string
)
;
if
(
type
==
char
.
class
||
type
==
character
.
class
)
return
(
t
)
(
character
)
string
.
char
at
(
0
)
;
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
enum
[
]
constants
=
(
enum
[
]
)
type
.
get
enum
constants
(
)
;
for
(
int
i
=
0
,
n
=
constants
.
length
;
i
<
n
;
i
++
)
{
enum
e
=
constants
[
i
]
;
if
(
string
.
equals
(
convert
to
string
(
e
)
)
)
return
(
t
)
e
;
}
}
if
(
type
==
char
sequence
.
class
)
return
(
t
)
string
;
throw
new
serialization
exception
(
"Unable to convert value to required type: "
+
json
data
+
" ("
+
type
.
get
name
(
)
+
")"
)
;
}
return
null
;
}
<SENTENCE_END/>
convert,to,stringconvertget (9.82e-01)
enum (4.28e-03)
names (1.82e-03)
return (1.49e-03)
e (9.60e-04)
is (8.80e-04)
string (5.98e-04)
to (5.64e-04)
name (4.34e-04)
out (1.28e-04)
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
toenum (6.45e-01)
names (1.56e-01)
get (1.53e-01)
to (3.40e-03)
string (2.50e-03)
out (2.10e-03)
down (1.38e-03)
managed (1.28e-03)
name (1.15e-03)
ratio (9.55e-04)
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
string%END% (5.28e-01)
names (2.41e-01)
string (4.67e-02)
to (1.03e-02)
enum (9.66e-03)
e (4.90e-03)
status (2.83e-03)
managed (2.33e-03)
%UNK% (2.03e-03)
name (1.71e-03)
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.14e-01)
string (1.65e-02)
to (6.73e-03)
names (3.59e-03)
e (2.45e-03)
status (1.88e-03)
name (1.67e-03)
managed (1.38e-03)
%UNK% (1.21e-03)
at (1.19e-03)
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
enum
names
?
e
.
name
(
)
:
e
.
to
string
(
)
;
}
<SENTENCE_END/>
convert,to,stringconvertget (8.01e-01)
is (6.95e-02)
to (1.52e-02)
object (1.31e-02)
state (6.54e-03)
append (6.40e-03)
read (4.52e-03)
instance (3.72e-03)
with (3.66e-03)
obtain (3.51e-03)
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
toobject (4.45e-01)
%END% (2.51e-01)
string (4.48e-02)
value (2.76e-02)
of (2.10e-02)
by (9.46e-03)
name (9.35e-03)
to (9.24e-03)
types (7.55e-03)
class (7.45e-03)
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
string%END% (8.78e-01)
object (4.32e-02)
string (6.54e-03)
value (6.45e-03)
name (6.25e-03)
of (6.19e-03)
return (4.44e-03)
by (2.09e-03)
status (1.87e-03)
instanceof (1.62e-03)
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
%END%%END% (9.31e-01)
object (1.91e-02)
return (3.94e-03)
name (3.72e-03)
string (3.65e-03)
value (3.47e-03)
of (2.07e-03)
status (1.28e-03)
by (1.23e-03)
instanceof (1.20e-03)
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
object
instanceof
enum
)
return
%SELF%
(
(
enum
)
object
)
;
if
(
object
instanceof
class
)
return
(
(
class
)
object
)
.
get
name
(
)
;
return
string
.
value
of
(
object
)
;
}
<SENTENCE_END/>
new,instancenewget (4.86e-01)
new (4.19e-02)
read (3.44e-02)
is (3.33e-02)
parse (2.55e-02)
load (2.54e-02)
instance (2.51e-02)
create (2.28e-02)
copy (2.24e-02)
%UNK% (1.41e-02)
<SENTENCE_START>
{
try
{
return
class
reflection
.
%SELF%
(
type
)
;
}
catch
(
exception
ex
)
{
try
{
constructor
constructor
=
class
reflection
.
get
declared
constructor
(
type
)
;
constructor
.
set
accessible
(
true
)
;
return
constructor
.
%SELF%
(
)
;
}
catch
(
security
exception
ignored
)
{
}
catch
(
reflection
exception
ignored
)
{
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
if
(
type
.
get
enum
constants
(
)
==
null
)
type
=
type
.
get
superclass
(
)
;
return
type
.
get
enum
constants
(
)
[
0
]
;
}
if
(
type
.
is
array
(
)
)
throw
new
serialization
exception
(
"Encountered JSON object when expected array of type: "
+
type
.
get
name
(
)
,
ex
)
;
else
if
(
class
reflection
.
is
member
class
(
type
)
&&
!
class
reflection
.
is
static
class
(
type
)
)
throw
new
serialization
exception
(
"Class cannot be created (non-static member class): "
+
type
.
get
name
(
)
,
ex
)
;
else
throw
new
serialization
exception
(
"Class cannot be created (missing no-arg constructor): "
+
type
.
get
name
(
)
,
ex
)
;
}
catch
(
exception
private
constructor
exception
)
{
ex
=
private
constructor
exception
;
}
throw
new
serialization
exception
(
"Error constructing instance of class: "
+
type
.
get
name
(
)
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
class
reflection
.
%SELF%
(
type
)
;
}
catch
(
exception
ex
)
{
try
{
constructor
constructor
=
class
reflection
.
get
declared
constructor
(
type
)
;
constructor
.
set
accessible
(
true
)
;
return
constructor
.
%SELF%
(
)
;
}
catch
(
security
exception
ignored
)
{
}
catch
(
reflection
exception
ignored
)
{
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
if
(
type
.
get
enum
constants
(
)
==
null
)
type
=
type
.
get
superclass
(
)
;
return
type
.
get
enum
constants
(
)
[
0
]
;
}
if
(
type
.
is
array
(
)
)
throw
new
serialization
exception
(
"Encountered JSON object when expected array of type: "
+
type
.
get
name
(
)
,
ex
)
;
else
if
(
class
reflection
.
is
member
class
(
type
)
&&
!
class
reflection
.
is
static
class
(
type
)
)
throw
new
serialization
exception
(
"Class cannot be created (non-static member class): "
+
type
.
get
name
(
)
,
ex
)
;
else
throw
new
serialization
exception
(
"Class cannot be created (missing no-arg constructor): "
+
type
.
get
name
(
)
,
ex
)
;
}
catch
(
exception
private
constructor
exception
)
{
ex
=
private
constructor
exception
;
}
throw
new
serialization
exception
(
"Error constructing instance of class: "
+
type
.
get
name
(
)
,
ex
)
;
}
}
<SENTENCE_END/>
instance%END% (3.52e-01)
constructor (1.93e-01)
get (2.83e-02)
declared (2.45e-02)
type (2.21e-02)
class (1.74e-02)
instance (1.43e-02)
name (1.29e-02)
reflection (1.14e-02)
%UNK% (1.01e-02)
<SENTENCE_START>
{
try
{
return
class
reflection
.
%SELF%
(
type
)
;
}
catch
(
exception
ex
)
{
try
{
constructor
constructor
=
class
reflection
.
get
declared
constructor
(
type
)
;
constructor
.
set
accessible
(
true
)
;
return
constructor
.
%SELF%
(
)
;
}
catch
(
security
exception
ignored
)
{
}
catch
(
reflection
exception
ignored
)
{
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
if
(
type
.
get
enum
constants
(
)
==
null
)
type
=
type
.
get
superclass
(
)
;
return
type
.
get
enum
constants
(
)
[
0
]
;
}
if
(
type
.
is
array
(
)
)
throw
new
serialization
exception
(
"Encountered JSON object when expected array of type: "
+
type
.
get
name
(
)
,
ex
)
;
else
if
(
class
reflection
.
is
member
class
(
type
)
&&
!
class
reflection
.
is
static
class
(
type
)
)
throw
new
serialization
exception
(
"Class cannot be created (non-static member class): "
+
type
.
get
name
(
)
,
ex
)
;
else
throw
new
serialization
exception
(
"Class cannot be created (missing no-arg constructor): "
+
type
.
get
name
(
)
,
ex
)
;
}
catch
(
exception
private
constructor
exception
)
{
ex
=
private
constructor
exception
;
}
throw
new
serialization
exception
(
"Error constructing instance of class: "
+
type
.
get
name
(
)
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
class
reflection
.
%SELF%
(
type
)
;
}
catch
(
exception
ex
)
{
try
{
constructor
constructor
=
class
reflection
.
get
declared
constructor
(
type
)
;
constructor
.
set
accessible
(
true
)
;
return
constructor
.
%SELF%
(
)
;
}
catch
(
security
exception
ignored
)
{
}
catch
(
reflection
exception
ignored
)
{
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
if
(
type
.
get
enum
constants
(
)
==
null
)
type
=
type
.
get
superclass
(
)
;
return
type
.
get
enum
constants
(
)
[
0
]
;
}
if
(
type
.
is
array
(
)
)
throw
new
serialization
exception
(
"Encountered JSON object when expected array of type: "
+
type
.
get
name
(
)
,
ex
)
;
else
if
(
class
reflection
.
is
member
class
(
type
)
&&
!
class
reflection
.
is
static
class
(
type
)
)
throw
new
serialization
exception
(
"Class cannot be created (non-static member class): "
+
type
.
get
name
(
)
,
ex
)
;
else
throw
new
serialization
exception
(
"Class cannot be created (missing no-arg constructor): "
+
type
.
get
name
(
)
,
ex
)
;
}
catch
(
exception
private
constructor
exception
)
{
ex
=
private
constructor
exception
;
}
throw
new
serialization
exception
(
"Error constructing instance of class: "
+
type
.
get
name
(
)
,
ex
)
;
}
}
<SENTENCE_END/>
%END%%END% (6.95e-01)
constructor (8.69e-02)
type (1.14e-02)
class (1.04e-02)
reflection (8.58e-03)
get (6.32e-03)
name (5.95e-03)
constants (5.50e-03)
exception (4.84e-03)
instance (4.68e-03)
<SENTENCE_START>
{
try
{
return
class
reflection
.
%SELF%
(
type
)
;
}
catch
(
exception
ex
)
{
try
{
constructor
constructor
=
class
reflection
.
get
declared
constructor
(
type
)
;
constructor
.
set
accessible
(
true
)
;
return
constructor
.
%SELF%
(
)
;
}
catch
(
security
exception
ignored
)
{
}
catch
(
reflection
exception
ignored
)
{
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
if
(
type
.
get
enum
constants
(
)
==
null
)
type
=
type
.
get
superclass
(
)
;
return
type
.
get
enum
constants
(
)
[
0
]
;
}
if
(
type
.
is
array
(
)
)
throw
new
serialization
exception
(
"Encountered JSON object when expected array of type: "
+
type
.
get
name
(
)
,
ex
)
;
else
if
(
class
reflection
.
is
member
class
(
type
)
&&
!
class
reflection
.
is
static
class
(
type
)
)
throw
new
serialization
exception
(
"Class cannot be created (non-static member class): "
+
type
.
get
name
(
)
,
ex
)
;
else
throw
new
serialization
exception
(
"Class cannot be created (missing no-arg constructor): "
+
type
.
get
name
(
)
,
ex
)
;
}
catch
(
exception
private
constructor
exception
)
{
ex
=
private
constructor
exception
;
}
throw
new
serialization
exception
(
"Error constructing instance of class: "
+
type
.
get
name
(
)
,
ex
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
return
class
reflection
.
%SELF%
(
type
)
;
}
catch
(
exception
ex
)
{
try
{
constructor
constructor
=
class
reflection
.
get
declared
constructor
(
type
)
;
constructor
.
set
accessible
(
true
)
;
return
constructor
.
%SELF%
(
)
;
}
catch
(
security
exception
ignored
)
{
}
catch
(
reflection
exception
ignored
)
{
if
(
class
reflection
.
is
assignable
from
(
enum
.
class
,
type
)
)
{
if
(
type
.
get
enum
constants
(
)
==
null
)
type
=
type
.
get
superclass
(
)
;
return
type
.
get
enum
constants
(
)
[
0
]
;
}
if
(
type
.
is
array
(
)
)
throw
new
serialization
exception
(
"Encountered JSON object when expected array of type: "
+
type
.
get
name
(
)
,
ex
)
;
else
if
(
class
reflection
.
is
member
class
(
type
)
&&
!
class
reflection
.
is
static
class
(
type
)
)
throw
new
serialization
exception
(
"Class cannot be created (non-static member class): "
+
type
.
get
name
(
)
,
ex
)
;
else
throw
new
serialization
exception
(
"Class cannot be created (missing no-arg constructor): "
+
type
.
get
name
(
)
,
ex
)
;
}
catch
(
exception
private
constructor
exception
)
{
ex
=
private
constructor
exception
;
}
throw
new
serialization
exception
(
"Error constructing instance of class: "
+
type
.
get
name
(
)
,
ex
)
;
}
}
<SENTENCE_END/>
pretty,printprettyget (1.48e-01)
object (1.42e-01)
append (1.19e-01)
read (4.18e-02)
wrap (4.06e-02)
is (3.42e-02)
instance (2.50e-02)
%UNK% (2.45e-02)
to (2.22e-02)
state (2.13e-02)
<SENTENCE_START>
{
return
%SELF%
(
object
,
0
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
0
)
;
}
<SENTENCE_END/>
print%END% (7.09e-01)
object (1.58e-01)
value (2.50e-02)
array (1.24e-02)
all (5.93e-03)
of (5.45e-03)
by (4.83e-03)
string (3.47e-03)
%UNK% (3.18e-03)
buffer (2.77e-03)
<SENTENCE_START>
{
return
%SELF%
(
object
,
0
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
0
)
;
}
<SENTENCE_END/>
%END%%END% (8.90e-01)
object (2.62e-02)
value (1.68e-02)
array (6.53e-03)
all (2.93e-03)
buffer (1.99e-03)
%UNK% (1.78e-03)
string (1.72e-03)
0 (1.65e-03)
of (1.63e-03)
<SENTENCE_START>
{
return
%SELF%
(
object
,
0
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
object
,
0
)
;
}
<SENTENCE_END/>
pretty,printprettyjson (8.41e-01)
read (9.36e-02)
init (1.24e-02)
parse (8.23e-03)
%UNK% (4.99e-03)
trim (3.86e-03)
encode (3.46e-03)
append (1.93e-03)
line (1.82e-03)
write (1.62e-03)
<SENTENCE_START>
{
return
%SELF%
(
json
,
0
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
json
,
0
)
;
}
<SENTENCE_END/>
print%END% (5.66e-01)
json (2.02e-01)
string (2.78e-02)
%UNK% (1.86e-02)
fully (1.65e-02)
read (1.12e-02)
line (1.10e-02)
from (7.59e-03)
char (7.01e-03)
0 (6.80e-03)
<SENTENCE_START>
{
return
%SELF%
(
json
,
0
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
json
,
0
)
;
}
<SENTENCE_END/>
%END%%END% (8.33e-01)
json (1.69e-02)
string (1.22e-02)
%UNK% (1.08e-02)
value (6.51e-03)
fully (5.87e-03)
line (4.86e-03)
from (4.54e-03)
char (3.50e-03)
0 (3.16e-03)
<SENTENCE_START>
{
return
%SELF%
(
json
,
0
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
json
,
0
)
;
}
<SENTENCE_END/>
pretty,printprettyread (3.68e-01)
line (1.88e-01)
to (6.10e-02)
json (3.37e-02)
%UNK% (3.24e-02)
color (2.57e-02)
encode (2.09e-02)
move (2.09e-02)
write (1.77e-02)
parse (1.59e-02)
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
single
line
columns
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
single
line
columns
)
;
}
<SENTENCE_END/>
print%END% (4.40e-01)
line (1.90e-01)
json (3.39e-02)
single (3.36e-02)
string (3.00e-02)
%UNK% (1.93e-02)
object (1.32e-02)
triangle (1.04e-02)
from (1.01e-02)
color (9.01e-03)
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
single
line
columns
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
single
line
columns
)
;
}
<SENTENCE_END/>
%END%%END% (8.89e-01)
line (1.50e-02)
string (8.39e-03)
columns (7.59e-03)
object (5.61e-03)
%UNK% (4.42e-03)
single (3.04e-03)
to (2.89e-03)
by (2.72e-03)
array (2.54e-03)
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
single
line
columns
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
single
line
columns
)
;
}
<SENTENCE_END/>
pretty,printprettyparse (3.86e-01)
read (2.63e-01)
json (2.15e-01)
write (3.86e-02)
check (2.22e-02)
load (8.13e-03)
init (6.91e-03)
new (6.72e-03)
reader (3.67e-03)
%UNK% (3.63e-03)
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
output
type
,
single
line
columns
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
output
type
,
single
line
columns
)
;
}
<SENTENCE_END/>
print%END% (2.45e-01)
json (2.21e-01)
line (7.27e-02)
read (5.07e-02)
parse (4.89e-02)
%UNK% (4.04e-02)
string (3.67e-02)
write (1.98e-02)
from (1.58e-02)
file (1.48e-02)
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
output
type
,
single
line
columns
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
output
type
,
single
line
columns
)
;
}
<SENTENCE_END/>
%END%%END% (8.47e-01)
line (2.82e-02)
columns (1.61e-02)
string (1.05e-02)
%UNK% (9.34e-03)
json (7.68e-03)
single (5.48e-03)
file (4.74e-03)
from (2.64e-03)
model (2.42e-03)
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
output
type
,
single
line
columns
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
output
type
,
single
line
columns
)
;
}
<SENTENCE_END/>
pretty,printprettyread (4.01e-01)
to (2.28e-01)
append (6.87e-02)
%UNK% (2.98e-02)
register (2.96e-02)
wrap (1.58e-02)
write (1.20e-02)
pb (1.19e-02)
compare (1.03e-02)
duplicate (9.41e-03)
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
settings
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
settings
)
;
}
<SENTENCE_END/>
print%END% (8.19e-01)
string (2.74e-02)
object (1.81e-02)
%UNK% (9.25e-03)
value (6.09e-03)
to (5.84e-03)
json (5.57e-03)
equal (4.71e-03)
array (4.48e-03)
fv (3.54e-03)
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
settings
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
settings
)
;
}
<SENTENCE_END/>
%END%%END% (9.49e-01)
string (6.68e-03)
object (4.27e-03)
value (2.24e-03)
array (1.96e-03)
%UNK% (1.72e-03)
fv (1.61e-03)
to (1.52e-03)
equal (1.21e-03)
at (1.01e-03)
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
settings
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
to
json
(
object
)
,
settings
)
;
}
<SENTENCE_END/>
pretty,printprettyparse (4.82e-01)
json (3.02e-01)
read (1.63e-01)
check (1.37e-02)
write (9.46e-03)
new (5.87e-03)
reader (4.25e-03)
load (3.38e-03)
init (1.86e-03)
trim (7.04e-04)
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
settings
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
settings
)
;
}
<SENTENCE_END/>
print%END% (5.68e-01)
json (7.66e-02)
parse (5.66e-02)
string (5.24e-02)
%UNK% (2.08e-02)
file (1.61e-02)
equal (1.43e-02)
read (1.35e-02)
directory (1.02e-02)
test (9.48e-03)
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
settings
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
settings
)
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
string (7.97e-03)
equal (2.49e-03)
json (2.46e-03)
file (2.41e-03)
%UNK% (2.35e-03)
directory (1.48e-03)
parse (1.29e-03)
bytes (1.05e-03)
args (9.15e-04)
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
settings
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
json
reader
(
)
.
parse
(
json
)
.
%SELF%
(
settings
)
;
}
<SENTENCE_END/>
applyapplystart (2.76e-01)
get (2.57e-01)
end (9.81e-02)
%UNK% (5.40e-02)
add (3.17e-02)
nearest (2.21e-02)
remove (1.86e-02)
read (1.36e-02)
reset (1.20e-02)
set (1.11e-02)
<SENTENCE_START>
{
return
start
+
(
end
-
start
)
*
%SELF%
(
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
start
+
(
end
-
start
)
*
%SELF%
(
a
)
;
}
<SENTENCE_END/>
%END%%END% (6.35e-01)
%UNK% (1.03e-01)
start (3.95e-02)
value (8.00e-03)
end (7.31e-03)
nearest (4.34e-03)
to (3.91e-03)
count (3.61e-03)
point (3.61e-03)
in (3.57e-03)
<SENTENCE_START>
{
return
start
+
(
end
-
start
)
*
%SELF%
(
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
start
+
(
end
-
start
)
*
%SELF%
(
a
)
;
}
<SENTENCE_END/>
applyapplyis (4.60e-01)
get (4.24e-01)
iterator (1.69e-02)
abs (1.36e-02)
to (9.63e-03)
needs (6.51e-03)
protected (5.58e-03)
max (4.07e-03)
min (3.96e-03)
size (3.67e-03)
<SENTENCE_START>
{
return
a
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
a
;
}
<SENTENCE_END/>
%END%a (3.37e-01)
%END% (2.14e-01)
max (6.56e-02)
to (4.97e-02)
zero (3.54e-02)
%UNK% (3.37e-02)
min (3.05e-02)
local (1.65e-02)
size (1.07e-02)
cross (8.77e-03)
<SENTENCE_START>
{
return
a
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
a
;
}
<SENTENCE_END/>
applyapplycross (4.72e-01)
mul (1.69e-01)
dot (5.56e-02)
normalize (2.67e-02)
lerp (2.32e-02)
pick (2.27e-02)
%UNK% (1.82e-02)
abs (1.33e-02)
det (1.23e-02)
assert (1.19e-02)
<SENTENCE_START>
{
return
math
utils
.
clamp
(
a
*
a
*
a
*
(
a
*
(
a
*
6
-
15
)
+
10
)
,
0
,
1
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
math
utils
.
clamp
(
a
*
a
*
a
*
(
a
*
(
a
*
6
-
15
)
+
10
)
,
0
,
1
)
;
}
<SENTENCE_END/>
%END%%END% (7.21e-01)
%UNK% (3.85e-02)
to (1.28e-02)
pick (1.27e-02)
cross (8.89e-03)
out (7.49e-03)
equal (6.15e-03)
unsafe (5.37e-03)
dot (5.03e-03)
0 (4.98e-03)
<SENTENCE_START>
{
return
math
utils
.
clamp
(
a
*
a
*
a
*
(
a
*
(
a
*
6
-
15
)
+
10
)
,
0
,
1
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
math
utils
.
clamp
(
a
*
a
*
a
*
(
a
*
(
a
*
6
-
15
)
+
10
)
,
0
,
1
)
;
}
<SENTENCE_END/>
applyapplyget (2.07e-01)
%UNK% (1.75e-01)
normalize (9.50e-02)
abs (5.03e-02)
sub (4.77e-02)
mouse (3.98e-02)
distance (2.66e-02)
lerp (2.57e-02)
is (1.81e-02)
cross (1.53e-02)
<SENTENCE_START>
{
return
(
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
)
)
/
2
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
)
)
/
2
;
}
<SENTENCE_END/>
%END%%UNK% (3.02e-01)
angle (8.61e-02)
normalize (4.54e-02)
get (3.32e-02)
cos (2.71e-02)
2 (2.35e-02)
atan (1.78e-02)
rad (1.50e-02)
mouse (1.48e-02)
abs (1.34e-02)
<SENTENCE_START>
{
return
(
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
)
)
/
2
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
)
)
/
2
;
}
<SENTENCE_END/>
applyapplyget (3.13e-01)
%UNK% (1.26e-01)
normalize (8.61e-02)
sub (8.32e-02)
distance (4.39e-02)
mouse (3.07e-02)
abs (3.01e-02)
cross (2.62e-02)
lerp (2.27e-02)
fast (1.69e-02)
<SENTENCE_START>
{
return
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
%END%%UNK% (2.50e-01)
get (9.00e-02)
angle (8.27e-02)
normalize (4.23e-02)
pi (2.73e-02)
cos (2.55e-02)
percent (2.38e-02)
atan (2.28e-02)
2 (1.86e-02)
set (1.62e-02)
<SENTENCE_START>
{
return
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
1
-
math
utils
.
cos
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
applyapplyget (8.85e-01)
abs (2.45e-02)
is (1.77e-02)
%UNK% (6.76e-03)
mouse (5.85e-03)
angle (4.83e-03)
normalize (4.76e-03)
atan (3.75e-03)
cos (3.44e-03)
fast (2.93e-03)
<SENTENCE_START>
{
return
math
utils
.
sin
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
math
utils
.
sin
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
%END%%UNK% (1.85e-01)
angle (1.23e-01)
get (1.13e-01)
atan (4.25e-02)
normalize (3.91e-02)
cos (3.04e-02)
abs (2.34e-02)
axis (1.92e-02)
set (1.90e-02)
percent (1.74e-02)
<SENTENCE_START>
{
return
math
utils
.
sin
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
math
utils
.
sin
(
a
*
math
utils
.
pi
/
2
)
;
}
<SENTENCE_END/>
applyapplycontains (2.94e-01)
%UNK% (9.19e-02)
cross (5.28e-02)
equals (4.56e-02)
mul (3.93e-02)
sub (3.86e-02)
assert (2.82e-02)
sort (1.87e-02)
a (1.75e-02)
abs (1.44e-02)
<SENTENCE_START>
{
if
(
a
<=
0.5f
)
{
a
*=
2
;
return
(
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
)
/
2
;
}
a
--
;
a
*=
2
;
return
(
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
+
1
)
/
2
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
a
<=
0.5f
)
{
a
*=
2
;
return
(
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
)
/
2
;
}
a
--
;
a
*=
2
;
return
(
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
+
1
)
/
2
;
}
<SENTENCE_END/>
%END%%END% (5.21e-01)
%UNK% (9.07e-02)
2 (3.39e-02)
equals (2.16e-02)
in (1.22e-02)
to (1.21e-02)
equal (1.19e-02)
point (9.31e-03)
endian (8.65e-03)
bt (8.38e-03)
<SENTENCE_START>
{
if
(
a
<=
0.5f
)
{
a
*=
2
;
return
(
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
)
/
2
;
}
a
--
;
a
*=
2
;
return
(
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
+
1
)
/
2
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
a
<=
0.5f
)
{
a
*=
2
;
return
(
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
)
/
2
;
}
a
--
;
a
*=
2
;
return
(
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
+
1
)
/
2
;
}
<SENTENCE_END/>
applyapplycross (1.58e-01)
sub (8.70e-02)
%UNK% (5.00e-02)
in (4.19e-02)
normalize (3.94e-02)
peek (3.90e-02)
interpolate (3.88e-02)
pick (3.73e-02)
randomize (3.67e-02)
det (3.35e-02)
<SENTENCE_START>
{
return
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
%END%%END% (7.38e-01)
%UNK% (2.68e-02)
float (1.79e-02)
2 (1.62e-02)
1 (1.50e-02)
in (1.34e-02)
endian (1.21e-02)
3 (5.36e-03)
sqrt (5.03e-03)
d (4.78e-03)
<SENTENCE_START>
{
return
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
1
-
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
applyapplycross (1.74e-01)
a (1.16e-01)
contains (7.24e-02)
sort (5.82e-02)
mul (5.46e-02)
solve (5.18e-02)
det (4.90e-02)
sub (4.52e-02)
%UNK% (3.80e-02)
assert (1.91e-02)
<SENTENCE_START>
{
a
--
;
return
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
a
--
;
return
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
%END%%END% (8.82e-01)
%UNK% (1.59e-02)
to (6.07e-03)
endian (5.41e-03)
equal (4.42e-03)
sqrt (3.44e-03)
2 (3.14e-03)
bt (3.07e-03)
in (2.95e-03)
float (2.37e-03)
<SENTENCE_START>
{
a
--
;
return
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
a
--
;
return
(
float
)
math
.
sqrt
(
1
-
a
*
a
)
;
}
<SENTENCE_END/>
outoutget (2.74e-01)
test (2.55e-01)
%UNK% (9.29e-02)
mouse (4.72e-02)
render (2.89e-02)
instance (2.55e-02)
assert (1.90e-02)
act (1.62e-02)
lerp (1.47e-02)
run (1.23e-02)
<SENTENCE_START>
{
float
test
=
a
+
widths
[
0
]
/
2
;
if
(
test
<
widths
[
0
]
)
return
test
/
(
widths
[
0
]
/
2
)
-
1
;
return
super
.
apply
(
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
float
test
=
a
+
widths
[
0
]
/
2
;
if
(
test
<
widths
[
0
]
)
return
test
/
(
widths
[
0
]
/
2
)
-
1
;
return
super
.
apply
(
a
)
;
}
<SENTENCE_END/>
%END%%UNK% (4.22e-01)
%END% (1.86e-01)
test (6.74e-02)
get (1.66e-02)
instance (9.04e-03)
2 (6.30e-03)
to (6.02e-03)
in (5.84e-03)
and (5.63e-03)
equal (5.20e-03)
<SENTENCE_START>
{
float
test
=
a
+
widths
[
0
]
/
2
;
if
(
test
<
widths
[
0
]
)
return
test
/
(
widths
[
0
]
/
2
)
-
1
;
return
super
.
apply
(
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
float
test
=
a
+
widths
[
0
]
/
2
;
if
(
test
<
widths
[
0
]
)
return
test
/
(
widths
[
0
]
/
2
)
-
1
;
return
super
.
apply
(
a
)
;
}
<SENTENCE_END/>
native,ordernativeget (6.95e-01)
new (7.41e-02)
order (6.74e-02)
instance (3.97e-02)
as (3.84e-02)
iterator (2.52e-02)
protected (2.05e-02)
needs (9.90e-03)
is (4.58e-03)
resolve (2.76e-03)
<SENTENCE_START>
{
return
native
order
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
native
order
;
}
<SENTENCE_END/>
ordernative (7.09e-01)
order (9.46e-02)
%END% (7.12e-02)
new (3.32e-02)
instance (2.43e-02)
as (5.33e-03)
resolve (4.99e-03)
with (4.64e-03)
get (3.68e-03)
protected (3.30e-03)
<SENTENCE_START>
{
return
native
order
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
native
order
;
}
<SENTENCE_END/>
%END%%END% (5.61e-01)
order (3.73e-01)
native (8.94e-03)
buffer (2.97e-03)
array (2.79e-03)
object (2.20e-03)
class (2.00e-03)
accessible (1.93e-03)
value (1.88e-03)
%UNK% (1.48e-03)
<SENTENCE_START>
{
return
native
order
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
native
order
;
}
<SENTENCE_END/>
needs,gl,20needsis (3.66e-01)
needs (1.61e-01)
protected (1.40e-01)
has (1.02e-01)
read (8.25e-02)
can (5.77e-02)
get (1.54e-02)
should (1.32e-02)
mark (1.21e-02)
duplicate (5.49e-03)
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
glhas (2.39e-01)
read (2.12e-01)
array (8.34e-02)
gl (6.77e-02)
protected (5.67e-02)
only (3.74e-02)
needs (2.85e-02)
can (2.51e-02)
exit (2.35e-02)
%UNK% (1.84e-02)
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
20%END% (1.68e-01)
array (1.55e-01)
only (1.52e-01)
20 (9.55e-02)
gl (4.52e-02)
offset (2.19e-02)
value (2.03e-02)
has (1.96e-02)
read (1.93e-02)
%UNK% (1.87e-02)
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
%END%%END% (9.17e-01)
only (1.37e-02)
20 (1.30e-02)
value (1.03e-02)
array (4.86e-03)
offset (3.49e-03)
file (1.44e-03)
accessible (1.18e-03)
buffer (1.01e-03)
count (8.25e-04)
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
true
;
}
<SENTENCE_END/>
resumeresumestart (9.21e-02)
paint (6.27e-02)
set (6.27e-02)
update (5.55e-02)
flush (4.55e-02)
drag (4.00e-02)
init (3.97e-02)
%UNK% (3.86e-02)
end (3.82e-02)
close (3.42e-02)
<SENTENCE_START>
{
}
<SENTENCE_END/>
<SENTENCE_START>
{
}
<SENTENCE_END/>
%END%%END% (7.10e-01)
%UNK% (2.03e-02)
title (1.16e-02)
value (9.48e-03)
only (8.73e-03)
accessible (7.33e-03)
layout (5.44e-03)
array (4.77e-03)
changed (4.73e-03)
count (4.54e-03)
<SENTENCE_START>
{
}
<SENTENCE_END/>
<SENTENCE_START>
{
}
<SENTENCE_END/>
resizeresizestart (9.21e-02)
paint (6.27e-02)
set (6.27e-02)
update (5.55e-02)
flush (4.55e-02)
drag (4.00e-02)
init (3.97e-02)
%UNK% (3.86e-02)
end (3.82e-02)
close (3.42e-02)
<SENTENCE_START>
{
}
<SENTENCE_END/>
<SENTENCE_START>
{
}
<SENTENCE_END/>
%END%%END% (7.10e-01)
%UNK% (2.03e-02)
title (1.16e-02)
value (9.48e-03)
only (8.73e-03)
accessible (7.33e-03)
layout (5.44e-03)
array (4.77e-03)
changed (4.73e-03)
count (4.54e-03)
<SENTENCE_START>
{
}
<SENTENCE_END/>
<SENTENCE_START>
{
}
<SENTENCE_END/>
pausepausestart (9.21e-02)
paint (6.27e-02)
set (6.27e-02)
update (5.55e-02)
flush (4.55e-02)
drag (4.00e-02)
init (3.97e-02)
%UNK% (3.86e-02)
end (3.82e-02)
close (3.42e-02)
<SENTENCE_START>
{
}
<SENTENCE_END/>
<SENTENCE_START>
{
}
<SENTENCE_END/>
%END%%END% (7.10e-01)
%UNK% (2.03e-02)
title (1.16e-02)
value (9.48e-03)
only (8.73e-03)
accessible (7.33e-03)
layout (5.44e-03)
array (4.77e-03)
changed (4.73e-03)
count (4.54e-03)
<SENTENCE_START>
{
}
<SENTENCE_END/>
<SENTENCE_START>
{
}
<SENTENCE_END/>
test,overlaptestinitialize (4.52e-01)
get (1.21e-01)
set (8.40e-02)
%UNK% (3.43e-02)
setup (2.79e-02)
create (2.75e-02)
read (2.03e-02)
write (1.93e-02)
load (1.83e-02)
init (1.36e-02)
<SENTENCE_START>
{
input
.
proxy
a
.
set
(
shape
a
,
index
a
)
;
input
.
proxy
b
.
set
(
shape
b
,
index
b
)
;
input
.
transform
a
.
set
(
xf
a
)
;
input
.
transform
b
.
set
(
xf
b
)
;
input
.
use
radii
=
true
;
cache
.
count
=
0
;
pool
.
get
distance
(
)
.
distance
(
output
,
cache
,
input
)
;
return
output
.
distance
<
10.0f
*
settings
.
epsilon
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
input
.
proxy
a
.
set
(
shape
a
,
index
a
)
;
input
.
proxy
b
.
set
(
shape
b
,
index
b
)
;
input
.
transform
a
.
set
(
xf
a
)
;
input
.
transform
b
.
set
(
xf
b
)
;
input
.
use
radii
=
true
;
cache
.
count
=
0
;
pool
.
get
distance
(
)
.
distance
(
output
,
cache
,
input
)
;
return
output
.
distance
<
10.0f
*
settings
.
epsilon
;
}
<SENTENCE_END/>
overlap%END% (5.99e-01)
initialize (6.49e-02)
%UNK% (5.06e-02)
write (1.17e-02)
read (1.02e-02)
input (8.94e-03)
to (7.82e-03)
get (6.71e-03)
setup (6.25e-03)
create (5.82e-03)
<SENTENCE_START>
{
input
.
proxy
a
.
set
(
shape
a
,
index
a
)
;
input
.
proxy
b
.
set
(
shape
b
,
index
b
)
;
input
.
transform
a
.
set
(
xf
a
)
;
input
.
transform
b
.
set
(
xf
b
)
;
input
.
use
radii
=
true
;
cache
.
count
=
0
;
pool
.
get
distance
(
)
.
distance
(
output
,
cache
,
input
)
;
return
output
.
distance
<
10.0f
*
settings
.
epsilon
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
input
.
proxy
a
.
set
(
shape
a
,
index
a
)
;
input
.
proxy
b
.
set
(
shape
b
,
index
b
)
;
input
.
transform
a
.
set
(
xf
a
)
;
input
.
transform
b
.
set
(
xf
b
)
;
input
.
use
radii
=
true
;
cache
.
count
=
0
;
pool
.
get
distance
(
)
.
distance
(
output
,
cache
,
input
)
;
return
output
.
distance
<
10.0f
*
settings
.
epsilon
;
}
<SENTENCE_END/>
%END%%END% (8.84e-01)
a (9.44e-03)
radii (7.12e-03)
b (5.98e-03)
%UNK% (5.90e-03)
distance (4.79e-03)
set (3.92e-03)
input (2.68e-03)
xf (2.40e-03)
shape (2.32e-03)
<SENTENCE_START>
{
input
.
proxy
a
.
set
(
shape
a
,
index
a
)
;
input
.
proxy
b
.
set
(
shape
b
,
index
b
)
;
input
.
transform
a
.
set
(
xf
a
)
;
input
.
transform
b
.
set
(
xf
b
)
;
input
.
use
radii
=
true
;
cache
.
count
=
0
;
pool
.
get
distance
(
)
.
distance
(
output
,
cache
,
input
)
;
return
output
.
distance
<
10.0f
*
settings
.
epsilon
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
input
.
proxy
a
.
set
(
shape
a
,
index
a
)
;
input
.
proxy
b
.
set
(
shape
b
,
index
b
)
;
input
.
transform
a
.
set
(
xf
a
)
;
input
.
transform
b
.
set
(
xf
b
)
;
input
.
use
radii
=
true
;
cache
.
count
=
0
;
pool
.
get
distance
(
)
.
distance
(
output
,
cache
,
input
)
;
return
output
.
distance
<
10.0f
*
settings
.
epsilon
;
}
<SENTENCE_END/>
get,point,statesgetget (1.70e-01)
set (1.11e-01)
%UNK% (7.97e-02)
update (5.20e-02)
state (5.05e-02)
reset (3.21e-02)
generate (2.70e-02)
index (2.18e-02)
end (1.40e-02)
draw (1.35e-02)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
point%END% (1.67e-01)
id (6.68e-02)
%UNK% (5.36e-02)
get (4.96e-02)
state (4.56e-02)
contact (4.49e-02)
index (3.54e-02)
point (2.65e-02)
update (1.97e-02)
value (1.57e-02)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
states%END% (3.30e-01)
%UNK% (5.64e-02)
index (3.94e-02)
get (3.19e-02)
state (3.10e-02)
value (1.90e-02)
update (1.79e-02)
of (1.71e-02)
point (1.62e-02)
id (1.58e-02)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
%END%%END% (5.11e-01)
%UNK% (4.24e-02)
index (3.39e-02)
of (1.80e-02)
value (1.79e-02)
get (1.67e-02)
state (1.42e-02)
update (1.18e-02)
point (9.23e-03)
and (9.16e-03)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
i
++
)
{
state
1
[
i
]
=
point
state
.
null
state
;
state
2
[
i
]
=
point
state
.
null
state
;
}
for
(
int
i
=
0
;
i
<
manifold
1
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
1
.
points
[
i
]
.
id
;
state
1
[
i
]
=
point
state
.
remove
state
;
for
(
int
j
=
0
;
j
<
manifold
2
.
point
count
;
j
++
)
{
if
(
manifold
2
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
1
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
for
(
int
i
=
0
;
i
<
manifold
2
.
point
count
;
i
++
)
{
contact
id
id
=
manifold
2
.
points
[
i
]
.
id
;
state
2
[
i
]
=
point
state
.
add
state
;
for
(
int
j
=
0
;
j
<
manifold
1
.
point
count
;
j
++
)
{
if
(
manifold
1
.
points
[
j
]
.
id
.
is
equal
(
id
)
)
{
state
2
[
i
]
=
point
state
.
persist
state
;
break
;
}
}
}
}
<SENTENCE_END/>
clip,segment,to,lineclipget (7.70e-02)
create (6.28e-02)
distance (6.02e-02)
%UNK% (5.76e-02)
transform (5.24e-02)
%END% (4.89e-02)
mul (2.21e-02)
calculate (2.09e-02)
update (1.62e-02)
out (1.58e-02)
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
segment%END% (4.27e-01)
%UNK% (4.01e-02)
in (3.01e-02)
to (2.67e-02)
transform (2.41e-02)
out (2.18e-02)
distance (1.45e-02)
get (1.22e-02)
v (1.19e-02)
point (1.01e-02)
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
to%END% (6.09e-01)
in (2.78e-02)
%UNK% (2.57e-02)
to (1.99e-02)
out (1.69e-02)
transform (1.31e-02)
v (1.05e-02)
distance (7.76e-03)
frustum (7.27e-03)
0 (6.84e-03)
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
line%END% (7.28e-01)
in (2.19e-02)
%UNK% (1.80e-02)
to (1.54e-02)
out (1.13e-02)
transform (7.58e-03)
v (6.27e-03)
frustum (6.07e-03)
0 (5.53e-03)
trans (4.59e-03)
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
%END%%END% (7.38e-01)
in (2.11e-02)
%UNK% (1.70e-02)
to (1.47e-02)
out (1.07e-02)
transform (7.20e-03)
frustum (5.96e-03)
v (5.77e-03)
0 (5.32e-03)
trans (4.38e-03)
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
num
out
=
0
;
final
clip
vertex
v
in
0
=
v
in
[
0
]
;
final
clip
vertex
v
in
1
=
v
in
[
1
]
;
final
vec
2
v
in
0
v
=
v
in
0
.
v
;
final
vec
2
v
in
1
v
=
v
in
1
.
v
;
float
distance
0
=
vec
2
.
dot
(
normal
,
v
in
0
v
)
-
offset
;
float
distance
1
=
vec
2
.
dot
(
normal
,
v
in
1
v
)
-
offset
;
if
(
distance
0
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
0
)
;
}
if
(
distance
1
<=
0.0f
)
{
v
out
[
num
out
++
]
.
set
(
v
in
1
)
;
}
if
(
distance
0
*
distance
1
<
0.0f
)
{
float
interp
=
distance
0
/
(
distance
0
-
distance
1
)
;
clip
vertex
v
out
no
=
v
out
[
num
out
]
;
v
out
no
.
v
.
x
=
v
in
0
v
.
x
+
interp
*
(
v
in
1
v
.
x
-
v
in
0
v
.
x
)
;
v
out
no
.
v
.
y
=
v
in
0
v
.
y
+
interp
*
(
v
in
1
v
.
y
-
v
in
0
v
.
y
)
;
v
out
no
.
id
.
index
a
=
(
byte
)
vertex
index
a
;
v
out
no
.
id
.
index
b
=
v
in
0
.
id
.
index
b
;
v
out
no
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
v
out
no
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
++
num
out
;
}
return
num
out
;
}
<SENTENCE_END/>
collide,circlescollideset (6.81e-01)
%END% (3.65e-02)
get (1.65e-02)
%UNK% (1.58e-02)
draw (1.42e-02)
intersect (1.18e-02)
initialize (1.15e-02)
calculate (8.57e-03)
circle (8.33e-03)
create (7.41e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
vec
2
circle
1
p
=
circle
1
.
m
p
;
vec
2
circle
2
p
=
circle
2
.
m
p
;
float
p
ax
=
(
xf
a
.
q
.
c
*
circle
1
p
.
x
-
xf
a
.
q
.
s
*
circle
1
p
.
y
)
+
xf
a
.
p
.
x
;
float
p
ay
=
(
xf
a
.
q
.
s
*
circle
1
p
.
x
+
xf
a
.
q
.
c
*
circle
1
p
.
y
)
+
xf
a
.
p
.
y
;
float
p
bx
=
(
xf
b
.
q
.
c
*
circle
2
p
.
x
-
xf
b
.
q
.
s
*
circle
2
p
.
y
)
+
xf
b
.
p
.
x
;
float
p
by
=
(
xf
b
.
q
.
s
*
circle
2
p
.
x
+
xf
b
.
q
.
c
*
circle
2
p
.
y
)
+
xf
b
.
p
.
y
;
float
dx
=
p
bx
-
p
ax
;
float
dy
=
p
by
-
p
ay
;
float
dist
sqr
=
dx
*
dx
+
dy
*
dy
;
final
float
radius
=
circle
1
.
m
radius
+
circle
2
.
m
radius
;
if
(
dist
sqr
>
radius
*
radius
)
{
return
;
}
manifold
.
type
=
manifold
type
.
circles
;
manifold
.
local
point
.
set
(
circle
1
p
)
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
point
count
=
1
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
2
p
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
vec
2
circle
1
p
=
circle
1
.
m
p
;
vec
2
circle
2
p
=
circle
2
.
m
p
;
float
p
ax
=
(
xf
a
.
q
.
c
*
circle
1
p
.
x
-
xf
a
.
q
.
s
*
circle
1
p
.
y
)
+
xf
a
.
p
.
x
;
float
p
ay
=
(
xf
a
.
q
.
s
*
circle
1
p
.
x
+
xf
a
.
q
.
c
*
circle
1
p
.
y
)
+
xf
a
.
p
.
y
;
float
p
bx
=
(
xf
b
.
q
.
c
*
circle
2
p
.
x
-
xf
b
.
q
.
s
*
circle
2
p
.
y
)
+
xf
b
.
p
.
x
;
float
p
by
=
(
xf
b
.
q
.
s
*
circle
2
p
.
x
+
xf
b
.
q
.
c
*
circle
2
p
.
y
)
+
xf
b
.
p
.
y
;
float
dx
=
p
bx
-
p
ax
;
float
dy
=
p
by
-
p
ay
;
float
dist
sqr
=
dx
*
dx
+
dy
*
dy
;
final
float
radius
=
circle
1
.
m
radius
+
circle
2
.
m
radius
;
if
(
dist
sqr
>
radius
*
radius
)
{
return
;
}
manifold
.
type
=
manifold
type
.
circles
;
manifold
.
local
point
.
set
(
circle
1
p
)
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
point
count
=
1
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
2
p
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
<SENTENCE_END/>
circles%END% (4.75e-01)
set (7.18e-02)
circle (3.24e-02)
%UNK% (2.79e-02)
2 (1.42e-02)
draw (1.13e-02)
point (1.04e-02)
line (9.66e-03)
ray (9.38e-03)
p (9.26e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
vec
2
circle
1
p
=
circle
1
.
m
p
;
vec
2
circle
2
p
=
circle
2
.
m
p
;
float
p
ax
=
(
xf
a
.
q
.
c
*
circle
1
p
.
x
-
xf
a
.
q
.
s
*
circle
1
p
.
y
)
+
xf
a
.
p
.
x
;
float
p
ay
=
(
xf
a
.
q
.
s
*
circle
1
p
.
x
+
xf
a
.
q
.
c
*
circle
1
p
.
y
)
+
xf
a
.
p
.
y
;
float
p
bx
=
(
xf
b
.
q
.
c
*
circle
2
p
.
x
-
xf
b
.
q
.
s
*
circle
2
p
.
y
)
+
xf
b
.
p
.
x
;
float
p
by
=
(
xf
b
.
q
.
s
*
circle
2
p
.
x
+
xf
b
.
q
.
c
*
circle
2
p
.
y
)
+
xf
b
.
p
.
y
;
float
dx
=
p
bx
-
p
ax
;
float
dy
=
p
by
-
p
ay
;
float
dist
sqr
=
dx
*
dx
+
dy
*
dy
;
final
float
radius
=
circle
1
.
m
radius
+
circle
2
.
m
radius
;
if
(
dist
sqr
>
radius
*
radius
)
{
return
;
}
manifold
.
type
=
manifold
type
.
circles
;
manifold
.
local
point
.
set
(
circle
1
p
)
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
point
count
=
1
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
2
p
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
vec
2
circle
1
p
=
circle
1
.
m
p
;
vec
2
circle
2
p
=
circle
2
.
m
p
;
float
p
ax
=
(
xf
a
.
q
.
c
*
circle
1
p
.
x
-
xf
a
.
q
.
s
*
circle
1
p
.
y
)
+
xf
a
.
p
.
x
;
float
p
ay
=
(
xf
a
.
q
.
s
*
circle
1
p
.
x
+
xf
a
.
q
.
c
*
circle
1
p
.
y
)
+
xf
a
.
p
.
y
;
float
p
bx
=
(
xf
b
.
q
.
c
*
circle
2
p
.
x
-
xf
b
.
q
.
s
*
circle
2
p
.
y
)
+
xf
b
.
p
.
x
;
float
p
by
=
(
xf
b
.
q
.
s
*
circle
2
p
.
x
+
xf
b
.
q
.
c
*
circle
2
p
.
y
)
+
xf
b
.
p
.
y
;
float
dx
=
p
bx
-
p
ax
;
float
dy
=
p
by
-
p
ay
;
float
dist
sqr
=
dx
*
dx
+
dy
*
dy
;
final
float
radius
=
circle
1
.
m
radius
+
circle
2
.
m
radius
;
if
(
dist
sqr
>
radius
*
radius
)
{
return
;
}
manifold
.
type
=
manifold
type
.
circles
;
manifold
.
local
point
.
set
(
circle
1
p
)
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
point
count
=
1
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
2
p
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
<SENTENCE_END/>
%END%%END% (6.22e-01)
circle (2.63e-02)
set (2.57e-02)
%UNK% (1.94e-02)
2 (1.28e-02)
point (8.94e-03)
p (8.29e-03)
segment (7.28e-03)
line (6.87e-03)
ray (6.68e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
vec
2
circle
1
p
=
circle
1
.
m
p
;
vec
2
circle
2
p
=
circle
2
.
m
p
;
float
p
ax
=
(
xf
a
.
q
.
c
*
circle
1
p
.
x
-
xf
a
.
q
.
s
*
circle
1
p
.
y
)
+
xf
a
.
p
.
x
;
float
p
ay
=
(
xf
a
.
q
.
s
*
circle
1
p
.
x
+
xf
a
.
q
.
c
*
circle
1
p
.
y
)
+
xf
a
.
p
.
y
;
float
p
bx
=
(
xf
b
.
q
.
c
*
circle
2
p
.
x
-
xf
b
.
q
.
s
*
circle
2
p
.
y
)
+
xf
b
.
p
.
x
;
float
p
by
=
(
xf
b
.
q
.
s
*
circle
2
p
.
x
+
xf
b
.
q
.
c
*
circle
2
p
.
y
)
+
xf
b
.
p
.
y
;
float
dx
=
p
bx
-
p
ax
;
float
dy
=
p
by
-
p
ay
;
float
dist
sqr
=
dx
*
dx
+
dy
*
dy
;
final
float
radius
=
circle
1
.
m
radius
+
circle
2
.
m
radius
;
if
(
dist
sqr
>
radius
*
radius
)
{
return
;
}
manifold
.
type
=
manifold
type
.
circles
;
manifold
.
local
point
.
set
(
circle
1
p
)
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
point
count
=
1
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
2
p
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
vec
2
circle
1
p
=
circle
1
.
m
p
;
vec
2
circle
2
p
=
circle
2
.
m
p
;
float
p
ax
=
(
xf
a
.
q
.
c
*
circle
1
p
.
x
-
xf
a
.
q
.
s
*
circle
1
p
.
y
)
+
xf
a
.
p
.
x
;
float
p
ay
=
(
xf
a
.
q
.
s
*
circle
1
p
.
x
+
xf
a
.
q
.
c
*
circle
1
p
.
y
)
+
xf
a
.
p
.
y
;
float
p
bx
=
(
xf
b
.
q
.
c
*
circle
2
p
.
x
-
xf
b
.
q
.
s
*
circle
2
p
.
y
)
+
xf
b
.
p
.
x
;
float
p
by
=
(
xf
b
.
q
.
s
*
circle
2
p
.
x
+
xf
b
.
q
.
c
*
circle
2
p
.
y
)
+
xf
b
.
p
.
y
;
float
dx
=
p
bx
-
p
ax
;
float
dy
=
p
by
-
p
ay
;
float
dist
sqr
=
dx
*
dx
+
dy
*
dy
;
final
float
radius
=
circle
1
.
m
radius
+
circle
2
.
m
radius
;
if
(
dist
sqr
>
radius
*
radius
)
{
return
;
}
manifold
.
type
=
manifold
type
.
circles
;
manifold
.
local
point
.
set
(
circle
1
p
)
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
point
count
=
1
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
2
p
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
<SENTENCE_END/>
collide,polygon,and,circlecollide%END% (2.49e-01)
%UNK% (1.25e-01)
set (7.08e-02)
get (3.68e-02)
create (2.31e-02)
add (1.74e-02)
transform (1.46e-02)
draw (1.22e-02)
solve (1.21e-02)
calculate (1.17e-02)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
polygon%END% (5.69e-01)
%UNK% (6.85e-02)
get (1.26e-02)
2 (1.08e-02)
set (1.01e-02)
to (8.65e-03)
transform (6.92e-03)
create (5.61e-03)
local (5.33e-03)
x (5.20e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
and%END% (6.39e-01)
%UNK% (5.65e-02)
2 (1.05e-02)
get (9.23e-03)
to (8.17e-03)
set (6.47e-03)
transform (5.60e-03)
x (4.80e-03)
y (4.69e-03)
point (4.15e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
circle%END% (7.02e-01)
%UNK% (4.81e-02)
2 (9.42e-03)
to (7.73e-03)
get (7.54e-03)
transform (4.90e-03)
set (4.56e-03)
in (3.84e-03)
x (3.75e-03)
y (3.67e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
%END%%END% (7.03e-01)
%UNK% (4.81e-02)
2 (9.45e-03)
to (7.70e-03)
get (7.60e-03)
transform (4.89e-03)
set (4.45e-03)
in (3.85e-03)
x (3.73e-03)
y (3.63e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
final
vec
2
circlep
=
circle
.
m
p
;
final
rot
xf
bq
=
xf
b
.
q
;
final
rot
xf
aq
=
xf
a
.
q
;
final
float
cx
=
(
xf
bq
.
c
*
circlep
.
x
-
xf
bq
.
s
*
circlep
.
y
)
+
xf
b
.
p
.
x
;
final
float
cy
=
(
xf
bq
.
s
*
circlep
.
x
+
xf
bq
.
c
*
circlep
.
y
)
+
xf
b
.
p
.
y
;
final
float
px
=
cx
-
xf
a
.
p
.
x
;
final
float
py
=
cy
-
xf
a
.
p
.
y
;
final
float
c
localx
=
(
xf
aq
.
c
*
px
+
xf
aq
.
s
*
py
)
;
final
float
c
localy
=
(
-
xf
aq
.
s
*
px
+
xf
aq
.
c
*
py
)
;
int
normal
index
=
0
;
float
separation
=
-
float
.
max
value
;
final
float
radius
=
polygon
.
m
radius
+
circle
.
m
radius
;
final
int
vertex
count
=
polygon
.
m
count
;
float
s
;
final
vec
2
[
]
vertices
=
polygon
.
m
vertices
;
final
vec
2
[
]
normals
=
polygon
.
m
normals
;
for
(
int
i
=
0
;
i
<
vertex
count
;
i
++
)
{
final
vec
2
vertex
=
vertices
[
i
]
;
final
float
tempx
=
c
localx
-
vertex
.
x
;
final
float
tempy
=
c
localy
-
vertex
.
y
;
s
=
normals
[
i
]
.
x
*
tempx
+
normals
[
i
]
.
y
*
tempy
;
if
(
s
>
radius
)
{
return
;
}
if
(
s
>
separation
)
{
separation
=
s
;
normal
index
=
i
;
}
}
final
int
vert
index
1
=
normal
index
;
final
int
vert
index
2
=
vert
index
1
+
1
<
vertex
count
?
vert
index
1
+
1
:
0
;
final
vec
2
v
1
=
vertices
[
vert
index
1
]
;
final
vec
2
v
2
=
vertices
[
vert
index
2
]
;
if
(
separation
<
settings
.
epsilon
)
{
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
final
vec
2
normal
=
normals
[
normal
index
]
;
manifold
.
local
normal
.
x
=
normal
.
x
;
manifold
.
local
normal
.
y
=
normal
.
y
;
manifold
.
local
point
.
x
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
manifold
.
local
point
.
y
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
manifold
point
mpoint
=
manifold
.
points
[
0
]
;
mpoint
.
local
point
.
x
=
circlep
.
x
;
mpoint
.
local
point
.
y
=
circlep
.
y
;
mpoint
.
id
.
zero
(
)
;
return
;
}
final
float
temp
x
=
c
localx
-
v
1
.
x
;
final
float
temp
y
=
c
localy
-
v
1
.
y
;
final
float
temp
2
x
=
v
2
.
x
-
v
1
.
x
;
final
float
temp
2
y
=
v
2
.
y
-
v
1
.
y
;
final
float
u
1
=
temp
x
*
temp
2
x
+
temp
y
*
temp
2
y
;
final
float
temp
3
x
=
c
localx
-
v
2
.
x
;
final
float
temp
3
y
=
c
localy
-
v
2
.
y
;
final
float
temp
4
x
=
v
1
.
x
-
v
2
.
x
;
final
float
temp
4
y
=
v
1
.
y
-
v
2
.
y
;
final
float
u
2
=
temp
3
x
*
temp
4
x
+
temp
3
y
*
temp
4
y
;
if
(
u
1
<=
0f
)
{
final
float
dx
=
c
localx
-
v
1
.
x
;
final
float
dy
=
c
localy
-
v
1
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
1
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
1
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
1
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
if
(
u
2
<=
0.0f
)
{
final
float
dx
=
c
localx
-
v
2
.
x
;
final
float
dy
=
c
localy
-
v
2
.
y
;
if
(
dx
*
dx
+
dy
*
dy
>
radius
*
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
x
=
c
localx
-
v
2
.
x
;
manifold
.
local
normal
.
y
=
c
localy
-
v
2
.
y
;
manifold
.
local
normal
.
normalize
(
)
;
manifold
.
local
point
.
set
(
v
2
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
else
{
final
float
fcx
=
(
v
1
.
x
+
v
2
.
x
)
*
.5f
;
final
float
fcy
=
(
v
1
.
y
+
v
2
.
y
)
*
.5f
;
final
float
tx
=
c
localx
-
fcx
;
final
float
ty
=
c
localy
-
fcy
;
final
vec
2
normal
=
normals
[
vert
index
1
]
;
separation
=
tx
*
normal
.
x
+
ty
*
normal
.
y
;
if
(
separation
>
radius
)
{
return
;
}
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
normals
[
vert
index
1
]
)
;
manifold
.
local
point
.
x
=
fcx
;
manifold
.
local
point
.
y
=
fcy
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circlep
)
;
manifold
.
points
[
0
]
.
id
.
zero
(
)
;
}
}
<SENTENCE_END/>
find,max,separationfindset (1.21e-01)
%UNK% (1.11e-01)
get (9.66e-02)
create (6.62e-02)
%END% (4.36e-02)
add (2.59e-02)
mul (2.02e-02)
calculate (1.82e-02)
to (1.68e-02)
transform (1.49e-02)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
max%END% (5.26e-01)
%UNK% (5.23e-02)
separation (1.89e-02)
to (1.67e-02)
get (1.27e-02)
2 (1.02e-02)
max (9.20e-03)
create (8.91e-03)
1 (8.25e-03)
transform (8.00e-03)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
separation%END% (7.46e-01)
%UNK% (3.04e-02)
to (1.19e-02)
2 (7.12e-03)
1 (5.18e-03)
get (4.33e-03)
separation (4.06e-03)
transform (3.92e-03)
in (3.29e-03)
create (3.21e-03)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
%END%%END% (7.79e-01)
%UNK% (2.56e-02)
to (1.11e-02)
2 (6.41e-03)
1 (4.12e-03)
transform (3.22e-03)
get (3.18e-03)
in (2.99e-03)
index (2.98e-03)
separation (2.91e-03)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
int
count
2
=
poly
2
.
m
count
;
vec
2
[
]
n
1
s
=
poly
1
.
m
normals
;
vec
2
[
]
v
1
s
=
poly
1
.
m
vertices
;
vec
2
[
]
v
2
s
=
poly
2
.
m
vertices
;
transform
.
mul
trans
to
out
unsafe
(
xf
2
,
xf
1
,
xf
)
;
final
rot
xfq
=
xf
.
q
;
int
best
index
=
0
;
float
max
separation
=
-
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
1
;
i
++
)
{
rot
.
mul
to
out
unsafe
(
xfq
,
n
1
s
[
i
]
,
n
)
;
transform
.
mul
to
out
unsafe
(
xf
,
v
1
s
[
i
]
,
v
1
)
;
float
si
=
float
.
max
value
;
for
(
int
j
=
0
;
j
<
count
2
;
++
j
)
{
vec
2
v
2
sj
=
v
2
s
[
j
]
;
float
sij
=
n
.
x
*
(
v
2
sj
.
x
-
v
1
.
x
)
+
n
.
y
*
(
v
2
sj
.
y
-
v
1
.
y
)
;
if
(
sij
<
si
)
{
si
=
sij
;
}
}
if
(
si
>
max
separation
)
{
max
separation
=
si
;
best
index
=
i
;
}
}
results
.
edge
index
=
best
index
;
results
.
separation
=
max
separation
;
}
<SENTENCE_END/>
find,incident,edgefindset (2.66e-01)
%END% (1.28e-01)
get (1.20e-01)
create (3.63e-02)
%UNK% (2.72e-02)
mul (1.91e-02)
2 (1.69e-02)
solve (1.35e-02)
add (1.34e-02)
transform (1.16e-02)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
incident%END% (5.39e-01)
get (3.85e-02)
set (2.71e-02)
2 (2.41e-02)
%UNK% (2.22e-02)
to (1.05e-02)
1 (9.97e-03)
create (8.58e-03)
transform (6.68e-03)
ray (6.23e-03)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
edge%END% (6.86e-01)
get (2.24e-02)
2 (2.02e-02)
%UNK% (1.78e-02)
set (1.14e-02)
to (1.01e-02)
1 (6.58e-03)
ray (5.15e-03)
create (5.07e-03)
transform (5.04e-03)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
%END%%END% (7.21e-01)
2 (1.89e-02)
get (1.78e-02)
%UNK% (1.63e-02)
to (9.45e-03)
set (8.19e-03)
1 (5.89e-03)
ray (4.55e-03)
transform (4.33e-03)
out (4.17e-03)
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
normals
1
=
poly
1
.
m
normals
;
int
count
2
=
poly
2
.
m
count
;
final
vec
2
[
]
vertices
2
=
poly
2
.
m
vertices
;
final
vec
2
[
]
normals
2
=
poly
2
.
m
normals
;
assert
(
0
<=
edge
1
&&
edge
1
<
count
1
)
;
final
clip
vertex
c
0
=
c
[
0
]
;
final
clip
vertex
c
1
=
c
[
1
]
;
final
rot
xf
1
q
=
xf
1
.
q
;
final
rot
xf
2
q
=
xf
2
.
q
;
final
vec
2
v
=
normals
1
[
edge
1
]
;
final
float
tempx
=
xf
1
q
.
c
*
v
.
x
-
xf
1
q
.
s
*
v
.
y
;
final
float
tempy
=
xf
1
q
.
s
*
v
.
x
+
xf
1
q
.
c
*
v
.
y
;
final
float
normal
1
x
=
xf
2
q
.
c
*
tempx
+
xf
2
q
.
s
*
tempy
;
final
float
normal
1
y
=
-
xf
2
q
.
s
*
tempx
+
xf
2
q
.
c
*
tempy
;
int
index
=
0
;
float
min
dot
=
float
.
max
value
;
for
(
int
i
=
0
;
i
<
count
2
;
++
i
)
{
vec
2
b
=
normals
2
[
i
]
;
float
dot
=
normal
1
x
*
b
.
x
+
normal
1
y
*
b
.
y
;
if
(
dot
<
min
dot
)
{
min
dot
=
dot
;
index
=
i
;
}
}
int
i
1
=
index
;
int
i
2
=
i
1
+
1
<
count
2
?
i
1
+
1
:
0
;
vec
2
v
1
=
vertices
2
[
i
1
]
;
vec
2
out
=
c
0
.
v
;
out
.
x
=
(
xf
2
q
.
c
*
v
1
.
x
-
xf
2
q
.
s
*
v
1
.
y
)
+
xf
2
.
p
.
x
;
out
.
y
=
(
xf
2
q
.
s
*
v
1
.
x
+
xf
2
q
.
c
*
v
1
.
y
)
+
xf
2
.
p
.
y
;
c
0
.
id
.
index
a
=
(
byte
)
edge
1
;
c
0
.
id
.
index
b
=
(
byte
)
i
1
;
c
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
vec
2
v
2
=
vertices
2
[
i
2
]
;
vec
2
out
1
=
c
1
.
v
;
out
1
.
x
=
(
xf
2
q
.
c
*
v
2
.
x
-
xf
2
q
.
s
*
v
2
.
y
)
+
xf
2
.
p
.
x
;
out
1
.
y
=
(
xf
2
q
.
s
*
v
2
.
x
+
xf
2
q
.
c
*
v
2
.
y
)
+
xf
2
.
p
.
y
;
c
1
.
id
.
index
a
=
(
byte
)
edge
1
;
c
1
.
id
.
index
b
=
(
byte
)
i
2
;
c
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
c
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
}
<SENTENCE_END/>
collide,polygonscollide%END% (3.23e-01)
set (1.88e-01)
get (4.10e-02)
create (3.23e-02)
%UNK% (2.73e-02)
calculate (1.34e-02)
add (1.30e-02)
transform (1.23e-02)
initialize (1.15e-02)
solve (1.13e-02)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
float
total
radius
=
poly
a
.
m
radius
+
poly
b
.
m
radius
;
find
max
separation
(
results
1
,
poly
a
,
xf
a
,
poly
b
,
xf
b
)
;
if
(
results
1
.
separation
>
total
radius
)
{
return
;
}
find
max
separation
(
results
2
,
poly
b
,
xf
b
,
poly
a
,
xf
a
)
;
if
(
results
2
.
separation
>
total
radius
)
{
return
;
}
final
polygon
shape
poly
1
;
final
polygon
shape
poly
2
;
transform
xf
1
,
xf
2
;
int
edge
1
;
boolean
flip
;
final
float
k
tol
=
0.1f
*
settings
.
linear
slop
;
if
(
results
2
.
separation
>
results
1
.
separation
+
k
tol
)
{
poly
1
=
poly
b
;
poly
2
=
poly
a
;
xf
1
=
xf
b
;
xf
2
=
xf
a
;
edge
1
=
results
2
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
b
;
flip
=
true
;
}
else
{
poly
1
=
poly
a
;
poly
2
=
poly
b
;
xf
1
=
xf
a
;
xf
2
=
xf
b
;
edge
1
=
results
1
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
a
;
flip
=
false
;
}
final
rot
xf
1
q
=
xf
1
.
q
;
find
incident
edge
(
incident
edge
,
poly
1
,
xf
1
,
edge
1
,
poly
2
,
xf
2
)
;
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
vertices
1
=
poly
1
.
m
vertices
;
final
int
iv
1
=
edge
1
;
final
int
iv
2
=
edge
1
+
1
<
count
1
?
edge
1
+
1
:
0
;
v
11
.
set
(
vertices
1
[
iv
1
]
)
;
v
12
.
set
(
vertices
1
[
iv
2
]
)
;
local
tangent
.
x
=
v
12
.
x
-
v
11
.
x
;
local
tangent
.
y
=
v
12
.
y
-
v
11
.
y
;
local
tangent
.
normalize
(
)
;
local
normal
.
x
=
1f
*
local
tangent
.
y
;
local
normal
.
y
=
-
1f
*
local
tangent
.
x
;
plane
point
.
x
=
(
v
11
.
x
+
v
12
.
x
)
*
.5f
;
plane
point
.
y
=
(
v
11
.
y
+
v
12
.
y
)
*
.5f
;
tangent
.
x
=
xf
1
q
.
c
*
local
tangent
.
x
-
xf
1
q
.
s
*
local
tangent
.
y
;
tangent
.
y
=
xf
1
q
.
s
*
local
tangent
.
x
+
xf
1
q
.
c
*
local
tangent
.
y
;
final
float
normalx
=
1f
*
tangent
.
y
;
final
float
normaly
=
-
1f
*
tangent
.
x
;
transform
.
mul
to
out
(
xf
1
,
v
11
,
v
11
)
;
transform
.
mul
to
out
(
xf
1
,
v
12
,
v
12
)
;
float
front
offset
=
normalx
*
v
11
.
x
+
normaly
*
v
11
.
y
;
float
side
offset
1
=
-
(
tangent
.
x
*
v
11
.
x
+
tangent
.
y
*
v
11
.
y
)
+
total
radius
;
float
side
offset
2
=
tangent
.
x
*
v
12
.
x
+
tangent
.
y
*
v
12
.
y
+
total
radius
;
int
np
;
tangent
.
negate
local
(
)
;
np
=
clip
segment
to
line
(
clip
points
1
,
incident
edge
,
tangent
,
side
offset
1
,
iv
1
)
;
tangent
.
negate
local
(
)
;
if
(
np
<
2
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
tangent
,
side
offset
2
,
iv
2
)
;
if
(
np
<
2
)
{
return
;
}
manifold
.
local
normal
.
set
(
local
normal
)
;
manifold
.
local
point
.
set
(
plane
point
)
;
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
=
normalx
*
clip
points
2
[
i
]
.
v
.
x
+
normaly
*
clip
points
2
[
i
]
.
v
.
y
-
front
offset
;
if
(
separation
<=
total
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
vec
2
out
=
cp
.
local
point
;
final
float
px
=
clip
points
2
[
i
]
.
v
.
x
-
xf
2
.
p
.
x
;
final
float
py
=
clip
points
2
[
i
]
.
v
.
y
-
xf
2
.
p
.
y
;
out
.
x
=
(
xf
2
.
q
.
c
*
px
+
xf
2
.
q
.
s
*
py
)
;
out
.
y
=
(
-
xf
2
.
q
.
s
*
px
+
xf
2
.
q
.
c
*
py
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
if
(
flip
)
{
cp
.
id
.
flip
(
)
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
float
total
radius
=
poly
a
.
m
radius
+
poly
b
.
m
radius
;
find
max
separation
(
results
1
,
poly
a
,
xf
a
,
poly
b
,
xf
b
)
;
if
(
results
1
.
separation
>
total
radius
)
{
return
;
}
find
max
separation
(
results
2
,
poly
b
,
xf
b
,
poly
a
,
xf
a
)
;
if
(
results
2
.
separation
>
total
radius
)
{
return
;
}
final
polygon
shape
poly
1
;
final
polygon
shape
poly
2
;
transform
xf
1
,
xf
2
;
int
edge
1
;
boolean
flip
;
final
float
k
tol
=
0.1f
*
settings
.
linear
slop
;
if
(
results
2
.
separation
>
results
1
.
separation
+
k
tol
)
{
poly
1
=
poly
b
;
poly
2
=
poly
a
;
xf
1
=
xf
b
;
xf
2
=
xf
a
;
edge
1
=
results
2
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
b
;
flip
=
true
;
}
else
{
poly
1
=
poly
a
;
poly
2
=
poly
b
;
xf
1
=
xf
a
;
xf
2
=
xf
b
;
edge
1
=
results
1
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
a
;
flip
=
false
;
}
final
rot
xf
1
q
=
xf
1
.
q
;
find
incident
edge
(
incident
edge
,
poly
1
,
xf
1
,
edge
1
,
poly
2
,
xf
2
)
;
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
vertices
1
=
poly
1
.
m
vertices
;
final
int
iv
1
=
edge
1
;
final
int
iv
2
=
edge
1
+
1
<
count
1
?
edge
1
+
1
:
0
;
v
11
.
set
(
vertices
1
[
iv
1
]
)
;
v
12
.
set
(
vertices
1
[
iv
2
]
)
;
local
tangent
.
x
=
v
12
.
x
-
v
11
.
x
;
local
tangent
.
y
=
v
12
.
y
-
v
11
.
y
;
local
tangent
.
normalize
(
)
;
local
normal
.
x
=
1f
*
local
tangent
.
y
;
local
normal
.
y
=
-
1f
*
local
tangent
.
x
;
plane
point
.
x
=
(
v
11
.
x
+
v
12
.
x
)
*
.5f
;
plane
point
.
y
=
(
v
11
.
y
+
v
12
.
y
)
*
.5f
;
tangent
.
x
=
xf
1
q
.
c
*
local
tangent
.
x
-
xf
1
q
.
s
*
local
tangent
.
y
;
tangent
.
y
=
xf
1
q
.
s
*
local
tangent
.
x
+
xf
1
q
.
c
*
local
tangent
.
y
;
final
float
normalx
=
1f
*
tangent
.
y
;
final
float
normaly
=
-
1f
*
tangent
.
x
;
transform
.
mul
to
out
(
xf
1
,
v
11
,
v
11
)
;
transform
.
mul
to
out
(
xf
1
,
v
12
,
v
12
)
;
float
front
offset
=
normalx
*
v
11
.
x
+
normaly
*
v
11
.
y
;
float
side
offset
1
=
-
(
tangent
.
x
*
v
11
.
x
+
tangent
.
y
*
v
11
.
y
)
+
total
radius
;
float
side
offset
2
=
tangent
.
x
*
v
12
.
x
+
tangent
.
y
*
v
12
.
y
+
total
radius
;
int
np
;
tangent
.
negate
local
(
)
;
np
=
clip
segment
to
line
(
clip
points
1
,
incident
edge
,
tangent
,
side
offset
1
,
iv
1
)
;
tangent
.
negate
local
(
)
;
if
(
np
<
2
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
tangent
,
side
offset
2
,
iv
2
)
;
if
(
np
<
2
)
{
return
;
}
manifold
.
local
normal
.
set
(
local
normal
)
;
manifold
.
local
point
.
set
(
plane
point
)
;
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
=
normalx
*
clip
points
2
[
i
]
.
v
.
x
+
normaly
*
clip
points
2
[
i
]
.
v
.
y
-
front
offset
;
if
(
separation
<=
total
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
vec
2
out
=
cp
.
local
point
;
final
float
px
=
clip
points
2
[
i
]
.
v
.
x
-
xf
2
.
p
.
x
;
final
float
py
=
clip
points
2
[
i
]
.
v
.
y
-
xf
2
.
p
.
y
;
out
.
x
=
(
xf
2
.
q
.
c
*
px
+
xf
2
.
q
.
s
*
py
)
;
out
.
y
=
(
-
xf
2
.
q
.
s
*
px
+
xf
2
.
q
.
c
*
py
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
if
(
flip
)
{
cp
.
id
.
flip
(
)
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
polygons%END% (6.93e-01)
set (1.65e-02)
%UNK% (1.28e-02)
2 (8.35e-03)
get (7.98e-03)
1 (6.13e-03)
to (5.69e-03)
create (5.29e-03)
transform (5.03e-03)
xf (4.85e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
float
total
radius
=
poly
a
.
m
radius
+
poly
b
.
m
radius
;
find
max
separation
(
results
1
,
poly
a
,
xf
a
,
poly
b
,
xf
b
)
;
if
(
results
1
.
separation
>
total
radius
)
{
return
;
}
find
max
separation
(
results
2
,
poly
b
,
xf
b
,
poly
a
,
xf
a
)
;
if
(
results
2
.
separation
>
total
radius
)
{
return
;
}
final
polygon
shape
poly
1
;
final
polygon
shape
poly
2
;
transform
xf
1
,
xf
2
;
int
edge
1
;
boolean
flip
;
final
float
k
tol
=
0.1f
*
settings
.
linear
slop
;
if
(
results
2
.
separation
>
results
1
.
separation
+
k
tol
)
{
poly
1
=
poly
b
;
poly
2
=
poly
a
;
xf
1
=
xf
b
;
xf
2
=
xf
a
;
edge
1
=
results
2
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
b
;
flip
=
true
;
}
else
{
poly
1
=
poly
a
;
poly
2
=
poly
b
;
xf
1
=
xf
a
;
xf
2
=
xf
b
;
edge
1
=
results
1
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
a
;
flip
=
false
;
}
final
rot
xf
1
q
=
xf
1
.
q
;
find
incident
edge
(
incident
edge
,
poly
1
,
xf
1
,
edge
1
,
poly
2
,
xf
2
)
;
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
vertices
1
=
poly
1
.
m
vertices
;
final
int
iv
1
=
edge
1
;
final
int
iv
2
=
edge
1
+
1
<
count
1
?
edge
1
+
1
:
0
;
v
11
.
set
(
vertices
1
[
iv
1
]
)
;
v
12
.
set
(
vertices
1
[
iv
2
]
)
;
local
tangent
.
x
=
v
12
.
x
-
v
11
.
x
;
local
tangent
.
y
=
v
12
.
y
-
v
11
.
y
;
local
tangent
.
normalize
(
)
;
local
normal
.
x
=
1f
*
local
tangent
.
y
;
local
normal
.
y
=
-
1f
*
local
tangent
.
x
;
plane
point
.
x
=
(
v
11
.
x
+
v
12
.
x
)
*
.5f
;
plane
point
.
y
=
(
v
11
.
y
+
v
12
.
y
)
*
.5f
;
tangent
.
x
=
xf
1
q
.
c
*
local
tangent
.
x
-
xf
1
q
.
s
*
local
tangent
.
y
;
tangent
.
y
=
xf
1
q
.
s
*
local
tangent
.
x
+
xf
1
q
.
c
*
local
tangent
.
y
;
final
float
normalx
=
1f
*
tangent
.
y
;
final
float
normaly
=
-
1f
*
tangent
.
x
;
transform
.
mul
to
out
(
xf
1
,
v
11
,
v
11
)
;
transform
.
mul
to
out
(
xf
1
,
v
12
,
v
12
)
;
float
front
offset
=
normalx
*
v
11
.
x
+
normaly
*
v
11
.
y
;
float
side
offset
1
=
-
(
tangent
.
x
*
v
11
.
x
+
tangent
.
y
*
v
11
.
y
)
+
total
radius
;
float
side
offset
2
=
tangent
.
x
*
v
12
.
x
+
tangent
.
y
*
v
12
.
y
+
total
radius
;
int
np
;
tangent
.
negate
local
(
)
;
np
=
clip
segment
to
line
(
clip
points
1
,
incident
edge
,
tangent
,
side
offset
1
,
iv
1
)
;
tangent
.
negate
local
(
)
;
if
(
np
<
2
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
tangent
,
side
offset
2
,
iv
2
)
;
if
(
np
<
2
)
{
return
;
}
manifold
.
local
normal
.
set
(
local
normal
)
;
manifold
.
local
point
.
set
(
plane
point
)
;
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
=
normalx
*
clip
points
2
[
i
]
.
v
.
x
+
normaly
*
clip
points
2
[
i
]
.
v
.
y
-
front
offset
;
if
(
separation
<=
total
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
vec
2
out
=
cp
.
local
point
;
final
float
px
=
clip
points
2
[
i
]
.
v
.
x
-
xf
2
.
p
.
x
;
final
float
py
=
clip
points
2
[
i
]
.
v
.
y
-
xf
2
.
p
.
y
;
out
.
x
=
(
xf
2
.
q
.
c
*
px
+
xf
2
.
q
.
s
*
py
)
;
out
.
y
=
(
-
xf
2
.
q
.
s
*
px
+
xf
2
.
q
.
c
*
py
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
if
(
flip
)
{
cp
.
id
.
flip
(
)
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
float
total
radius
=
poly
a
.
m
radius
+
poly
b
.
m
radius
;
find
max
separation
(
results
1
,
poly
a
,
xf
a
,
poly
b
,
xf
b
)
;
if
(
results
1
.
separation
>
total
radius
)
{
return
;
}
find
max
separation
(
results
2
,
poly
b
,
xf
b
,
poly
a
,
xf
a
)
;
if
(
results
2
.
separation
>
total
radius
)
{
return
;
}
final
polygon
shape
poly
1
;
final
polygon
shape
poly
2
;
transform
xf
1
,
xf
2
;
int
edge
1
;
boolean
flip
;
final
float
k
tol
=
0.1f
*
settings
.
linear
slop
;
if
(
results
2
.
separation
>
results
1
.
separation
+
k
tol
)
{
poly
1
=
poly
b
;
poly
2
=
poly
a
;
xf
1
=
xf
b
;
xf
2
=
xf
a
;
edge
1
=
results
2
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
b
;
flip
=
true
;
}
else
{
poly
1
=
poly
a
;
poly
2
=
poly
b
;
xf
1
=
xf
a
;
xf
2
=
xf
b
;
edge
1
=
results
1
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
a
;
flip
=
false
;
}
final
rot
xf
1
q
=
xf
1
.
q
;
find
incident
edge
(
incident
edge
,
poly
1
,
xf
1
,
edge
1
,
poly
2
,
xf
2
)
;
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
vertices
1
=
poly
1
.
m
vertices
;
final
int
iv
1
=
edge
1
;
final
int
iv
2
=
edge
1
+
1
<
count
1
?
edge
1
+
1
:
0
;
v
11
.
set
(
vertices
1
[
iv
1
]
)
;
v
12
.
set
(
vertices
1
[
iv
2
]
)
;
local
tangent
.
x
=
v
12
.
x
-
v
11
.
x
;
local
tangent
.
y
=
v
12
.
y
-
v
11
.
y
;
local
tangent
.
normalize
(
)
;
local
normal
.
x
=
1f
*
local
tangent
.
y
;
local
normal
.
y
=
-
1f
*
local
tangent
.
x
;
plane
point
.
x
=
(
v
11
.
x
+
v
12
.
x
)
*
.5f
;
plane
point
.
y
=
(
v
11
.
y
+
v
12
.
y
)
*
.5f
;
tangent
.
x
=
xf
1
q
.
c
*
local
tangent
.
x
-
xf
1
q
.
s
*
local
tangent
.
y
;
tangent
.
y
=
xf
1
q
.
s
*
local
tangent
.
x
+
xf
1
q
.
c
*
local
tangent
.
y
;
final
float
normalx
=
1f
*
tangent
.
y
;
final
float
normaly
=
-
1f
*
tangent
.
x
;
transform
.
mul
to
out
(
xf
1
,
v
11
,
v
11
)
;
transform
.
mul
to
out
(
xf
1
,
v
12
,
v
12
)
;
float
front
offset
=
normalx
*
v
11
.
x
+
normaly
*
v
11
.
y
;
float
side
offset
1
=
-
(
tangent
.
x
*
v
11
.
x
+
tangent
.
y
*
v
11
.
y
)
+
total
radius
;
float
side
offset
2
=
tangent
.
x
*
v
12
.
x
+
tangent
.
y
*
v
12
.
y
+
total
radius
;
int
np
;
tangent
.
negate
local
(
)
;
np
=
clip
segment
to
line
(
clip
points
1
,
incident
edge
,
tangent
,
side
offset
1
,
iv
1
)
;
tangent
.
negate
local
(
)
;
if
(
np
<
2
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
tangent
,
side
offset
2
,
iv
2
)
;
if
(
np
<
2
)
{
return
;
}
manifold
.
local
normal
.
set
(
local
normal
)
;
manifold
.
local
point
.
set
(
plane
point
)
;
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
=
normalx
*
clip
points
2
[
i
]
.
v
.
x
+
normaly
*
clip
points
2
[
i
]
.
v
.
y
-
front
offset
;
if
(
separation
<=
total
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
vec
2
out
=
cp
.
local
point
;
final
float
px
=
clip
points
2
[
i
]
.
v
.
x
-
xf
2
.
p
.
x
;
final
float
py
=
clip
points
2
[
i
]
.
v
.
y
-
xf
2
.
p
.
y
;
out
.
x
=
(
xf
2
.
q
.
c
*
px
+
xf
2
.
q
.
s
*
py
)
;
out
.
y
=
(
-
xf
2
.
q
.
s
*
px
+
xf
2
.
q
.
c
*
py
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
if
(
flip
)
{
cp
.
id
.
flip
(
)
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
%END%%END% (7.55e-01)
%UNK% (1.03e-02)
set (9.20e-03)
2 (7.65e-03)
1 (6.02e-03)
to (5.61e-03)
get (5.15e-03)
transform (3.85e-03)
xf (3.62e-03)
point (3.55e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
float
total
radius
=
poly
a
.
m
radius
+
poly
b
.
m
radius
;
find
max
separation
(
results
1
,
poly
a
,
xf
a
,
poly
b
,
xf
b
)
;
if
(
results
1
.
separation
>
total
radius
)
{
return
;
}
find
max
separation
(
results
2
,
poly
b
,
xf
b
,
poly
a
,
xf
a
)
;
if
(
results
2
.
separation
>
total
radius
)
{
return
;
}
final
polygon
shape
poly
1
;
final
polygon
shape
poly
2
;
transform
xf
1
,
xf
2
;
int
edge
1
;
boolean
flip
;
final
float
k
tol
=
0.1f
*
settings
.
linear
slop
;
if
(
results
2
.
separation
>
results
1
.
separation
+
k
tol
)
{
poly
1
=
poly
b
;
poly
2
=
poly
a
;
xf
1
=
xf
b
;
xf
2
=
xf
a
;
edge
1
=
results
2
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
b
;
flip
=
true
;
}
else
{
poly
1
=
poly
a
;
poly
2
=
poly
b
;
xf
1
=
xf
a
;
xf
2
=
xf
b
;
edge
1
=
results
1
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
a
;
flip
=
false
;
}
final
rot
xf
1
q
=
xf
1
.
q
;
find
incident
edge
(
incident
edge
,
poly
1
,
xf
1
,
edge
1
,
poly
2
,
xf
2
)
;
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
vertices
1
=
poly
1
.
m
vertices
;
final
int
iv
1
=
edge
1
;
final
int
iv
2
=
edge
1
+
1
<
count
1
?
edge
1
+
1
:
0
;
v
11
.
set
(
vertices
1
[
iv
1
]
)
;
v
12
.
set
(
vertices
1
[
iv
2
]
)
;
local
tangent
.
x
=
v
12
.
x
-
v
11
.
x
;
local
tangent
.
y
=
v
12
.
y
-
v
11
.
y
;
local
tangent
.
normalize
(
)
;
local
normal
.
x
=
1f
*
local
tangent
.
y
;
local
normal
.
y
=
-
1f
*
local
tangent
.
x
;
plane
point
.
x
=
(
v
11
.
x
+
v
12
.
x
)
*
.5f
;
plane
point
.
y
=
(
v
11
.
y
+
v
12
.
y
)
*
.5f
;
tangent
.
x
=
xf
1
q
.
c
*
local
tangent
.
x
-
xf
1
q
.
s
*
local
tangent
.
y
;
tangent
.
y
=
xf
1
q
.
s
*
local
tangent
.
x
+
xf
1
q
.
c
*
local
tangent
.
y
;
final
float
normalx
=
1f
*
tangent
.
y
;
final
float
normaly
=
-
1f
*
tangent
.
x
;
transform
.
mul
to
out
(
xf
1
,
v
11
,
v
11
)
;
transform
.
mul
to
out
(
xf
1
,
v
12
,
v
12
)
;
float
front
offset
=
normalx
*
v
11
.
x
+
normaly
*
v
11
.
y
;
float
side
offset
1
=
-
(
tangent
.
x
*
v
11
.
x
+
tangent
.
y
*
v
11
.
y
)
+
total
radius
;
float
side
offset
2
=
tangent
.
x
*
v
12
.
x
+
tangent
.
y
*
v
12
.
y
+
total
radius
;
int
np
;
tangent
.
negate
local
(
)
;
np
=
clip
segment
to
line
(
clip
points
1
,
incident
edge
,
tangent
,
side
offset
1
,
iv
1
)
;
tangent
.
negate
local
(
)
;
if
(
np
<
2
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
tangent
,
side
offset
2
,
iv
2
)
;
if
(
np
<
2
)
{
return
;
}
manifold
.
local
normal
.
set
(
local
normal
)
;
manifold
.
local
point
.
set
(
plane
point
)
;
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
=
normalx
*
clip
points
2
[
i
]
.
v
.
x
+
normaly
*
clip
points
2
[
i
]
.
v
.
y
-
front
offset
;
if
(
separation
<=
total
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
vec
2
out
=
cp
.
local
point
;
final
float
px
=
clip
points
2
[
i
]
.
v
.
x
-
xf
2
.
p
.
x
;
final
float
py
=
clip
points
2
[
i
]
.
v
.
y
-
xf
2
.
p
.
y
;
out
.
x
=
(
xf
2
.
q
.
c
*
px
+
xf
2
.
q
.
s
*
py
)
;
out
.
y
=
(
-
xf
2
.
q
.
s
*
px
+
xf
2
.
q
.
c
*
py
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
if
(
flip
)
{
cp
.
id
.
flip
(
)
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
float
total
radius
=
poly
a
.
m
radius
+
poly
b
.
m
radius
;
find
max
separation
(
results
1
,
poly
a
,
xf
a
,
poly
b
,
xf
b
)
;
if
(
results
1
.
separation
>
total
radius
)
{
return
;
}
find
max
separation
(
results
2
,
poly
b
,
xf
b
,
poly
a
,
xf
a
)
;
if
(
results
2
.
separation
>
total
radius
)
{
return
;
}
final
polygon
shape
poly
1
;
final
polygon
shape
poly
2
;
transform
xf
1
,
xf
2
;
int
edge
1
;
boolean
flip
;
final
float
k
tol
=
0.1f
*
settings
.
linear
slop
;
if
(
results
2
.
separation
>
results
1
.
separation
+
k
tol
)
{
poly
1
=
poly
b
;
poly
2
=
poly
a
;
xf
1
=
xf
b
;
xf
2
=
xf
a
;
edge
1
=
results
2
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
b
;
flip
=
true
;
}
else
{
poly
1
=
poly
a
;
poly
2
=
poly
b
;
xf
1
=
xf
a
;
xf
2
=
xf
b
;
edge
1
=
results
1
.
edge
index
;
manifold
.
type
=
manifold
type
.
face
a
;
flip
=
false
;
}
final
rot
xf
1
q
=
xf
1
.
q
;
find
incident
edge
(
incident
edge
,
poly
1
,
xf
1
,
edge
1
,
poly
2
,
xf
2
)
;
int
count
1
=
poly
1
.
m
count
;
final
vec
2
[
]
vertices
1
=
poly
1
.
m
vertices
;
final
int
iv
1
=
edge
1
;
final
int
iv
2
=
edge
1
+
1
<
count
1
?
edge
1
+
1
:
0
;
v
11
.
set
(
vertices
1
[
iv
1
]
)
;
v
12
.
set
(
vertices
1
[
iv
2
]
)
;
local
tangent
.
x
=
v
12
.
x
-
v
11
.
x
;
local
tangent
.
y
=
v
12
.
y
-
v
11
.
y
;
local
tangent
.
normalize
(
)
;
local
normal
.
x
=
1f
*
local
tangent
.
y
;
local
normal
.
y
=
-
1f
*
local
tangent
.
x
;
plane
point
.
x
=
(
v
11
.
x
+
v
12
.
x
)
*
.5f
;
plane
point
.
y
=
(
v
11
.
y
+
v
12
.
y
)
*
.5f
;
tangent
.
x
=
xf
1
q
.
c
*
local
tangent
.
x
-
xf
1
q
.
s
*
local
tangent
.
y
;
tangent
.
y
=
xf
1
q
.
s
*
local
tangent
.
x
+
xf
1
q
.
c
*
local
tangent
.
y
;
final
float
normalx
=
1f
*
tangent
.
y
;
final
float
normaly
=
-
1f
*
tangent
.
x
;
transform
.
mul
to
out
(
xf
1
,
v
11
,
v
11
)
;
transform
.
mul
to
out
(
xf
1
,
v
12
,
v
12
)
;
float
front
offset
=
normalx
*
v
11
.
x
+
normaly
*
v
11
.
y
;
float
side
offset
1
=
-
(
tangent
.
x
*
v
11
.
x
+
tangent
.
y
*
v
11
.
y
)
+
total
radius
;
float
side
offset
2
=
tangent
.
x
*
v
12
.
x
+
tangent
.
y
*
v
12
.
y
+
total
radius
;
int
np
;
tangent
.
negate
local
(
)
;
np
=
clip
segment
to
line
(
clip
points
1
,
incident
edge
,
tangent
,
side
offset
1
,
iv
1
)
;
tangent
.
negate
local
(
)
;
if
(
np
<
2
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
tangent
,
side
offset
2
,
iv
2
)
;
if
(
np
<
2
)
{
return
;
}
manifold
.
local
normal
.
set
(
local
normal
)
;
manifold
.
local
point
.
set
(
plane
point
)
;
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
=
normalx
*
clip
points
2
[
i
]
.
v
.
x
+
normaly
*
clip
points
2
[
i
]
.
v
.
y
-
front
offset
;
if
(
separation
<=
total
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
vec
2
out
=
cp
.
local
point
;
final
float
px
=
clip
points
2
[
i
]
.
v
.
x
-
xf
2
.
p
.
x
;
final
float
py
=
clip
points
2
[
i
]
.
v
.
y
-
xf
2
.
p
.
y
;
out
.
x
=
(
xf
2
.
q
.
c
*
px
+
xf
2
.
q
.
s
*
py
)
;
out
.
y
=
(
-
xf
2
.
q
.
s
*
px
+
xf
2
.
q
.
c
*
py
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
if
(
flip
)
{
cp
.
id
.
flip
(
)
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
collide,edge,and,circlecollideset (2.63e-01)
%UNK% (1.51e-01)
%END% (1.13e-01)
add (2.69e-02)
get (2.54e-02)
to (2.17e-02)
initialize (1.68e-02)
create (1.16e-02)
mul (8.99e-03)
solve (8.51e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
edge%END% (6.36e-01)
%UNK% (7.09e-02)
set (2.30e-02)
to (1.26e-02)
2 (7.36e-03)
local (5.21e-03)
add (4.63e-03)
get (3.87e-03)
point (3.75e-03)
out (3.65e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
and%END% (7.21e-01)
%UNK% (4.68e-02)
set (1.21e-02)
to (9.35e-03)
2 (6.64e-03)
local (4.36e-03)
a (3.67e-03)
point (3.59e-03)
and (2.72e-03)
out (2.70e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
circle%END% (7.95e-01)
%UNK% (3.77e-02)
to (8.01e-03)
set (7.96e-03)
2 (4.85e-03)
and (2.56e-03)
local (2.54e-03)
out (2.24e-03)
a (2.05e-03)
point (1.97e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
%END%%END% (8.04e-01)
%UNK% (3.69e-02)
to (7.87e-03)
set (7.42e-03)
2 (4.67e-03)
and (2.54e-03)
local (2.32e-03)
out (2.18e-03)
add (1.85e-03)
point (1.82e-03)
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
manifold
.
point
count
=
0
;
transform
.
mul
to
out
unsafe
(
xf
b
,
circle
b
.
m
p
,
temp
)
;
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
temp
,
q
)
;
final
vec
2
a
=
edge
a
.
m
vertex
1
;
final
vec
2
b
=
edge
a
.
m
vertex
2
;
e
.
set
(
b
)
.
sub
local
(
a
)
;
float
u
=
vec
2
.
dot
(
e
,
temp
.
set
(
b
)
.
sub
local
(
q
)
)
;
float
v
=
vec
2
.
dot
(
e
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
;
float
radius
=
edge
a
.
m
radius
+
circle
b
.
m
radius
;
cf
.
index
b
=
0
;
cf
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
v
<=
0.0f
)
{
final
vec
2
p
=
a
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
0
)
{
final
vec
2
a
1
=
edge
a
.
m
vertex
0
;
final
vec
2
b
1
=
a
;
e
1
.
set
(
b
1
)
.
sub
local
(
a
1
)
;
float
u
1
=
vec
2
.
dot
(
e
1
,
temp
.
set
(
b
1
)
.
sub
local
(
q
)
)
;
if
(
u
1
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
if
(
u
<=
0.0f
)
{
vec
2
p
=
b
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
if
(
edge
a
.
m
has
vertex
3
)
{
final
vec
2
b
2
=
edge
a
.
m
vertex
3
;
final
vec
2
a
2
=
b
;
final
vec
2
e
2
=
e
1
;
e
2
.
set
(
b
2
)
.
sub
local
(
a
2
)
;
float
v
2
=
vec
2
.
dot
(
e
2
,
temp
.
set
(
q
)
.
sub
local
(
a
2
)
)
;
if
(
v
2
>
0.0f
)
{
return
;
}
}
cf
.
index
a
=
1
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
circles
;
manifold
.
local
normal
.
set
zero
(
)
;
manifold
.
local
point
.
set
(
p
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
return
;
}
float
den
=
vec
2
.
dot
(
e
,
e
)
;
assert
(
den
>
0.0f
)
;
p
.
set
(
a
)
.
mul
local
(
u
)
.
add
local
(
temp
.
set
(
b
)
.
mul
local
(
v
)
)
;
p
.
mul
local
(
1.0f
/
den
)
;
d
.
set
(
q
)
.
sub
local
(
p
)
;
float
dd
=
vec
2
.
dot
(
d
,
d
)
;
if
(
dd
>
radius
*
radius
)
{
return
;
}
n
.
x
=
-
e
.
y
;
n
.
y
=
e
.
x
;
if
(
vec
2
.
dot
(
n
,
temp
.
set
(
q
)
.
sub
local
(
a
)
)
<
0.0f
)
{
n
.
set
(
-
n
.
x
,
-
n
.
y
)
;
}
n
.
normalize
(
)
;
cf
.
index
a
=
0
;
cf
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
manifold
.
point
count
=
1
;
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
manifold
.
local
normal
.
set
(
n
)
;
manifold
.
local
point
.
set
(
a
)
;
manifold
.
points
[
0
]
.
id
.
set
(
cf
)
;
manifold
.
points
[
0
]
.
local
point
.
set
(
circle
b
.
m
p
)
;
}
<SENTENCE_END/>
collide,edge,and,polygoncollideinitialize (5.33e-01)
set (3.59e-01)
create (1.48e-02)
add (1.08e-02)
get (8.96e-03)
compute (4.92e-03)
init (4.83e-03)
ext (3.65e-03)
%UNK% (3.56e-03)
calculate (3.48e-03)
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
edge%END% (8.89e-01)
edge (3.17e-02)
initialize (8.49e-03)
%UNK% (7.59e-03)
a (4.55e-03)
collide (4.34e-03)
b (2.87e-03)
xf (2.83e-03)
manifold (1.64e-03)
set (1.55e-03)
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
and%END% (9.77e-01)
a (3.22e-03)
xf (2.54e-03)
b (2.08e-03)
collide (1.01e-03)
%UNK% (8.42e-04)
edge (8.17e-04)
polygon (3.51e-04)
2 (2.90e-04)
value (2.90e-04)
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
polygon%END% (9.73e-01)
xf (4.65e-03)
collide (2.24e-03)
b (2.08e-03)
a (1.88e-03)
polygon (3.68e-04)
edge (3.03e-04)
manifold (2.83e-04)
%UNK% (2.70e-04)
value (2.63e-04)
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
%END%%END% (9.75e-01)
collide (3.73e-03)
xf (2.59e-03)
a (1.76e-03)
b (1.21e-03)
collider (4.15e-04)
value (3.33e-04)
edge (2.88e-04)
manifold (2.80e-04)
%UNK% (2.48e-04)
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collider
.
collide
(
manifold
,
edge
a
,
xf
a
,
polygon
b
,
xf
b
)
;
}
<SENTENCE_END/>
setsetset (8.23e-01)
flip (2.42e-02)
get (1.11e-02)
%UNK% (8.05e-03)
reset (6.92e-03)
solve (6.91e-03)
%END% (6.88e-03)
create (6.32e-03)
setup (5.55e-03)
add (5.53e-03)
<SENTENCE_START>
{
vec
2
v
1
=
cv
.
v
;
v
.
x
=
v
1
.
x
;
v
.
y
=
v
1
.
y
;
contact
id
c
=
cv
.
id
;
id
.
index
a
=
c
.
index
a
;
id
.
index
b
=
c
.
index
b
;
id
.
type
a
=
c
.
type
a
;
id
.
type
b
=
c
.
type
b
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
vec
2
v
1
=
cv
.
v
;
v
.
x
=
v
1
.
x
;
v
.
y
=
v
1
.
y
;
contact
id
c
=
cv
.
id
;
id
.
index
a
=
c
.
index
a
;
id
.
index
b
=
c
.
index
b
;
id
.
type
a
=
c
.
type
a
;
id
.
type
b
=
c
.
type
b
;
}
<SENTENCE_END/>
%END%%END% (5.19e-01)
get (6.15e-02)
set (4.59e-02)
%UNK% (2.34e-02)
to (2.27e-02)
id (1.68e-02)
type (1.58e-02)
solve (1.01e-02)
index (9.03e-03)
zero (7.96e-03)
<SENTENCE_START>
{
vec
2
v
1
=
cv
.
v
;
v
.
x
=
v
1
.
x
;
v
.
y
=
v
1
.
y
;
contact
id
c
=
cv
.
id
;
id
.
index
a
=
c
.
index
a
;
id
.
index
b
=
c
.
index
b
;
id
.
type
a
=
c
.
type
a
;
id
.
type
b
=
c
.
type
b
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
vec
2
v
1
=
cv
.
v
;
v
.
x
=
v
1
.
x
;
v
.
y
=
v
1
.
y
;
contact
id
c
=
cv
.
id
;
id
.
index
a
=
c
.
index
a
;
id
.
index
b
=
c
.
index
b
;
id
.
type
a
=
c
.
type
a
;
id
.
type
b
=
c
.
type
b
;
}
<SENTENCE_END/>
collidecollide%END% (3.20e-01)
set (1.84e-01)
%UNK% (7.99e-02)
get (2.29e-02)
solve (1.49e-02)
normal (8.54e-03)
report (8.26e-03)
update (7.39e-03)
draw (7.27e-03)
add (6.82e-03)
<SENTENCE_START>
{
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
xf
b
,
m
xf
)
;
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
centroid
,
m
centroid
b
)
;
m
v
0
=
edge
a
.
m
vertex
0
;
m
v
1
=
edge
a
.
m
vertex
1
;
m
v
2
=
edge
a
.
m
vertex
2
;
m
v
3
=
edge
a
.
m
vertex
3
;
boolean
has
vertex
0
=
edge
a
.
m
has
vertex
0
;
boolean
has
vertex
3
=
edge
a
.
m
has
vertex
3
;
edge
1
.
set
(
m
v
2
)
.
sub
local
(
m
v
1
)
;
edge
1
.
normalize
(
)
;
m
normal
1
.
set
(
edge
1
.
y
,
-
edge
1
.
x
)
;
float
offset
1
=
vec
2
.
dot
(
m
normal
1
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
1
)
)
;
float
offset
0
=
0.0f
,
offset
2
=
0.0f
;
boolean
convex
1
=
false
,
convex
2
=
false
;
if
(
has
vertex
0
)
{
edge
0
.
set
(
m
v
1
)
.
sub
local
(
m
v
0
)
;
edge
0
.
normalize
(
)
;
m
normal
0
.
set
(
edge
0
.
y
,
-
edge
0
.
x
)
;
convex
1
=
vec
2
.
cross
(
edge
0
,
edge
1
)
>=
0.0f
;
offset
0
=
vec
2
.
dot
(
m
normal
0
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
0
)
)
;
}
if
(
has
vertex
3
)
{
edge
2
.
set
(
m
v
3
)
.
sub
local
(
m
v
2
)
;
edge
2
.
normalize
(
)
;
m
normal
2
.
set
(
edge
2
.
y
,
-
edge
2
.
x
)
;
convex
2
=
vec
2
.
cross
(
edge
1
,
edge
2
)
>
0.0f
;
offset
2
=
vec
2
.
dot
(
m
normal
2
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
2
)
)
;
}
if
(
has
vertex
0
&&
has
vertex
3
)
{
if
(
convex
1
&&
convex
2
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
(
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
2
)
{
m
front
=
offset
2
>=
0.0f
||
(
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
0
)
{
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
3
)
{
if
(
convex
2
)
{
m
front
=
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
}
else
{
m
front
=
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
m
polygon
b
.
count
=
polygon
b
.
m
count
;
for
(
int
i
=
0
;
i
<
polygon
b
.
m
count
;
++
i
)
{
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
vertices
[
i
]
,
m
polygon
b
.
vertices
[
i
]
)
;
rot
.
mul
to
out
unsafe
(
m
xf
.
q
,
polygon
b
.
m
normals
[
i
]
,
m
polygon
b
.
normals
[
i
]
)
;
}
m
radius
=
2.0f
*
settings
.
polygon
radius
;
manifold
.
point
count
=
0
;
compute
edge
separation
(
edge
axis
)
;
if
(
edge
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
return
;
}
if
(
edge
axis
.
separation
>
m
radius
)
{
return
;
}
compute
polygon
separation
(
polygon
axis
)
;
if
(
polygon
axis
.
type
!=
ep
axis
.
type
.
unknown
&&
polygon
axis
.
separation
>
m
radius
)
{
return
;
}
final
float
k
relative
tol
=
0.98f
;
final
float
k
absolute
tol
=
0.001f
;
ep
axis
primary
axis
;
if
(
polygon
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
primary
axis
=
edge
axis
;
}
else
if
(
polygon
axis
.
separation
>
k
relative
tol
*
edge
axis
.
separation
+
k
absolute
tol
)
{
primary
axis
=
polygon
axis
;
}
else
{
primary
axis
=
edge
axis
;
}
final
clip
vertex
ie
0
=
ie
[
0
]
;
final
clip
vertex
ie
1
=
ie
[
1
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
int
best
index
=
0
;
float
best
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
0
]
)
;
for
(
int
i
=
1
;
i
<
m
polygon
b
.
count
;
++
i
)
{
float
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
i
]
)
;
if
(
value
<
best
value
)
{
best
value
=
value
;
best
index
=
i
;
}
}
int
i
1
=
best
index
;
int
i
2
=
i
1
+
1
<
m
polygon
b
.
count
?
i
1
+
1
:
0
;
ie
0
.
v
.
set
(
m
polygon
b
.
vertices
[
i
1
]
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
i
1
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
polygon
b
.
vertices
[
i
2
]
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
i
2
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
m
front
)
{
rf
.
i
1
=
0
;
rf
.
i
2
=
1
;
rf
.
v
1
.
set
(
m
v
1
)
;
rf
.
v
2
.
set
(
m
v
2
)
;
rf
.
normal
.
set
(
m
normal
1
)
;
}
else
{
rf
.
i
1
=
1
;
rf
.
i
2
=
0
;
rf
.
v
1
.
set
(
m
v
2
)
;
rf
.
v
2
.
set
(
m
v
1
)
;
rf
.
normal
.
set
(
m
normal
1
)
.
negate
local
(
)
;
}
}
else
{
manifold
.
type
=
manifold
.
manifold
type
.
face
b
;
ie
0
.
v
.
set
(
m
v
1
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
v
2
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
rf
.
i
1
=
primary
axis
.
index
;
rf
.
i
2
=
rf
.
i
1
+
1
<
m
polygon
b
.
count
?
rf
.
i
1
+
1
:
0
;
rf
.
v
1
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
1
]
)
;
rf
.
v
2
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
2
]
)
;
rf
.
normal
.
set
(
m
polygon
b
.
normals
[
rf
.
i
1
]
)
;
}
rf
.
side
normal
1
.
set
(
rf
.
normal
.
y
,
-
rf
.
normal
.
x
)
;
rf
.
side
normal
2
.
set
(
rf
.
side
normal
1
)
.
negate
local
(
)
;
rf
.
side
offset
1
=
vec
2
.
dot
(
rf
.
side
normal
1
,
rf
.
v
1
)
;
rf
.
side
offset
2
=
vec
2
.
dot
(
rf
.
side
normal
2
,
rf
.
v
2
)
;
int
np
;
np
=
clip
segment
to
line
(
clip
points
1
,
ie
,
rf
.
side
normal
1
,
rf
.
side
offset
1
,
rf
.
i
1
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
rf
.
side
normal
2
,
rf
.
side
offset
2
,
rf
.
i
2
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
local
normal
.
set
(
rf
.
normal
)
;
manifold
.
local
point
.
set
(
rf
.
v
1
)
;
}
else
{
manifold
.
local
normal
.
set
(
polygon
b
.
m
normals
[
rf
.
i
1
]
)
;
manifold
.
local
point
.
set
(
polygon
b
.
m
vertices
[
rf
.
i
1
]
)
;
}
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
;
separation
=
vec
2
.
dot
(
rf
.
normal
,
temp
.
set
(
clip
points
2
[
i
]
.
v
)
.
sub
local
(
rf
.
v
1
)
)
;
if
(
separation
<=
m
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
transform
.
mul
trans
to
out
unsafe
(
m
xf
,
clip
points
2
[
i
]
.
v
,
cp
.
local
point
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
}
else
{
cp
.
local
point
.
set
(
clip
points
2
[
i
]
.
v
)
;
cp
.
id
.
type
a
=
clip
points
2
[
i
]
.
id
.
type
b
;
cp
.
id
.
type
b
=
clip
points
2
[
i
]
.
id
.
type
a
;
cp
.
id
.
index
a
=
clip
points
2
[
i
]
.
id
.
index
b
;
cp
.
id
.
index
b
=
clip
points
2
[
i
]
.
id
.
index
a
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
xf
b
,
m
xf
)
;
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
centroid
,
m
centroid
b
)
;
m
v
0
=
edge
a
.
m
vertex
0
;
m
v
1
=
edge
a
.
m
vertex
1
;
m
v
2
=
edge
a
.
m
vertex
2
;
m
v
3
=
edge
a
.
m
vertex
3
;
boolean
has
vertex
0
=
edge
a
.
m
has
vertex
0
;
boolean
has
vertex
3
=
edge
a
.
m
has
vertex
3
;
edge
1
.
set
(
m
v
2
)
.
sub
local
(
m
v
1
)
;
edge
1
.
normalize
(
)
;
m
normal
1
.
set
(
edge
1
.
y
,
-
edge
1
.
x
)
;
float
offset
1
=
vec
2
.
dot
(
m
normal
1
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
1
)
)
;
float
offset
0
=
0.0f
,
offset
2
=
0.0f
;
boolean
convex
1
=
false
,
convex
2
=
false
;
if
(
has
vertex
0
)
{
edge
0
.
set
(
m
v
1
)
.
sub
local
(
m
v
0
)
;
edge
0
.
normalize
(
)
;
m
normal
0
.
set
(
edge
0
.
y
,
-
edge
0
.
x
)
;
convex
1
=
vec
2
.
cross
(
edge
0
,
edge
1
)
>=
0.0f
;
offset
0
=
vec
2
.
dot
(
m
normal
0
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
0
)
)
;
}
if
(
has
vertex
3
)
{
edge
2
.
set
(
m
v
3
)
.
sub
local
(
m
v
2
)
;
edge
2
.
normalize
(
)
;
m
normal
2
.
set
(
edge
2
.
y
,
-
edge
2
.
x
)
;
convex
2
=
vec
2
.
cross
(
edge
1
,
edge
2
)
>
0.0f
;
offset
2
=
vec
2
.
dot
(
m
normal
2
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
2
)
)
;
}
if
(
has
vertex
0
&&
has
vertex
3
)
{
if
(
convex
1
&&
convex
2
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
(
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
2
)
{
m
front
=
offset
2
>=
0.0f
||
(
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
0
)
{
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
3
)
{
if
(
convex
2
)
{
m
front
=
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
}
else
{
m
front
=
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
m
polygon
b
.
count
=
polygon
b
.
m
count
;
for
(
int
i
=
0
;
i
<
polygon
b
.
m
count
;
++
i
)
{
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
vertices
[
i
]
,
m
polygon
b
.
vertices
[
i
]
)
;
rot
.
mul
to
out
unsafe
(
m
xf
.
q
,
polygon
b
.
m
normals
[
i
]
,
m
polygon
b
.
normals
[
i
]
)
;
}
m
radius
=
2.0f
*
settings
.
polygon
radius
;
manifold
.
point
count
=
0
;
compute
edge
separation
(
edge
axis
)
;
if
(
edge
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
return
;
}
if
(
edge
axis
.
separation
>
m
radius
)
{
return
;
}
compute
polygon
separation
(
polygon
axis
)
;
if
(
polygon
axis
.
type
!=
ep
axis
.
type
.
unknown
&&
polygon
axis
.
separation
>
m
radius
)
{
return
;
}
final
float
k
relative
tol
=
0.98f
;
final
float
k
absolute
tol
=
0.001f
;
ep
axis
primary
axis
;
if
(
polygon
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
primary
axis
=
edge
axis
;
}
else
if
(
polygon
axis
.
separation
>
k
relative
tol
*
edge
axis
.
separation
+
k
absolute
tol
)
{
primary
axis
=
polygon
axis
;
}
else
{
primary
axis
=
edge
axis
;
}
final
clip
vertex
ie
0
=
ie
[
0
]
;
final
clip
vertex
ie
1
=
ie
[
1
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
int
best
index
=
0
;
float
best
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
0
]
)
;
for
(
int
i
=
1
;
i
<
m
polygon
b
.
count
;
++
i
)
{
float
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
i
]
)
;
if
(
value
<
best
value
)
{
best
value
=
value
;
best
index
=
i
;
}
}
int
i
1
=
best
index
;
int
i
2
=
i
1
+
1
<
m
polygon
b
.
count
?
i
1
+
1
:
0
;
ie
0
.
v
.
set
(
m
polygon
b
.
vertices
[
i
1
]
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
i
1
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
polygon
b
.
vertices
[
i
2
]
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
i
2
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
m
front
)
{
rf
.
i
1
=
0
;
rf
.
i
2
=
1
;
rf
.
v
1
.
set
(
m
v
1
)
;
rf
.
v
2
.
set
(
m
v
2
)
;
rf
.
normal
.
set
(
m
normal
1
)
;
}
else
{
rf
.
i
1
=
1
;
rf
.
i
2
=
0
;
rf
.
v
1
.
set
(
m
v
2
)
;
rf
.
v
2
.
set
(
m
v
1
)
;
rf
.
normal
.
set
(
m
normal
1
)
.
negate
local
(
)
;
}
}
else
{
manifold
.
type
=
manifold
.
manifold
type
.
face
b
;
ie
0
.
v
.
set
(
m
v
1
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
v
2
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
rf
.
i
1
=
primary
axis
.
index
;
rf
.
i
2
=
rf
.
i
1
+
1
<
m
polygon
b
.
count
?
rf
.
i
1
+
1
:
0
;
rf
.
v
1
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
1
]
)
;
rf
.
v
2
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
2
]
)
;
rf
.
normal
.
set
(
m
polygon
b
.
normals
[
rf
.
i
1
]
)
;
}
rf
.
side
normal
1
.
set
(
rf
.
normal
.
y
,
-
rf
.
normal
.
x
)
;
rf
.
side
normal
2
.
set
(
rf
.
side
normal
1
)
.
negate
local
(
)
;
rf
.
side
offset
1
=
vec
2
.
dot
(
rf
.
side
normal
1
,
rf
.
v
1
)
;
rf
.
side
offset
2
=
vec
2
.
dot
(
rf
.
side
normal
2
,
rf
.
v
2
)
;
int
np
;
np
=
clip
segment
to
line
(
clip
points
1
,
ie
,
rf
.
side
normal
1
,
rf
.
side
offset
1
,
rf
.
i
1
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
rf
.
side
normal
2
,
rf
.
side
offset
2
,
rf
.
i
2
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
local
normal
.
set
(
rf
.
normal
)
;
manifold
.
local
point
.
set
(
rf
.
v
1
)
;
}
else
{
manifold
.
local
normal
.
set
(
polygon
b
.
m
normals
[
rf
.
i
1
]
)
;
manifold
.
local
point
.
set
(
polygon
b
.
m
vertices
[
rf
.
i
1
]
)
;
}
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
;
separation
=
vec
2
.
dot
(
rf
.
normal
,
temp
.
set
(
clip
points
2
[
i
]
.
v
)
.
sub
local
(
rf
.
v
1
)
)
;
if
(
separation
<=
m
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
transform
.
mul
trans
to
out
unsafe
(
m
xf
,
clip
points
2
[
i
]
.
v
,
cp
.
local
point
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
}
else
{
cp
.
local
point
.
set
(
clip
points
2
[
i
]
.
v
)
;
cp
.
id
.
type
a
=
clip
points
2
[
i
]
.
id
.
type
b
;
cp
.
id
.
type
b
=
clip
points
2
[
i
]
.
id
.
type
a
;
cp
.
id
.
index
a
=
clip
points
2
[
i
]
.
id
.
index
b
;
cp
.
id
.
index
b
=
clip
points
2
[
i
]
.
id
.
index
a
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
%END%%END% (5.59e-01)
set (6.14e-02)
%UNK% (5.57e-02)
get (1.10e-02)
solve (8.88e-03)
normal (7.68e-03)
m (5.81e-03)
to (5.69e-03)
2 (4.95e-03)
update (4.18e-03)
<SENTENCE_START>
{
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
xf
b
,
m
xf
)
;
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
centroid
,
m
centroid
b
)
;
m
v
0
=
edge
a
.
m
vertex
0
;
m
v
1
=
edge
a
.
m
vertex
1
;
m
v
2
=
edge
a
.
m
vertex
2
;
m
v
3
=
edge
a
.
m
vertex
3
;
boolean
has
vertex
0
=
edge
a
.
m
has
vertex
0
;
boolean
has
vertex
3
=
edge
a
.
m
has
vertex
3
;
edge
1
.
set
(
m
v
2
)
.
sub
local
(
m
v
1
)
;
edge
1
.
normalize
(
)
;
m
normal
1
.
set
(
edge
1
.
y
,
-
edge
1
.
x
)
;
float
offset
1
=
vec
2
.
dot
(
m
normal
1
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
1
)
)
;
float
offset
0
=
0.0f
,
offset
2
=
0.0f
;
boolean
convex
1
=
false
,
convex
2
=
false
;
if
(
has
vertex
0
)
{
edge
0
.
set
(
m
v
1
)
.
sub
local
(
m
v
0
)
;
edge
0
.
normalize
(
)
;
m
normal
0
.
set
(
edge
0
.
y
,
-
edge
0
.
x
)
;
convex
1
=
vec
2
.
cross
(
edge
0
,
edge
1
)
>=
0.0f
;
offset
0
=
vec
2
.
dot
(
m
normal
0
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
0
)
)
;
}
if
(
has
vertex
3
)
{
edge
2
.
set
(
m
v
3
)
.
sub
local
(
m
v
2
)
;
edge
2
.
normalize
(
)
;
m
normal
2
.
set
(
edge
2
.
y
,
-
edge
2
.
x
)
;
convex
2
=
vec
2
.
cross
(
edge
1
,
edge
2
)
>
0.0f
;
offset
2
=
vec
2
.
dot
(
m
normal
2
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
2
)
)
;
}
if
(
has
vertex
0
&&
has
vertex
3
)
{
if
(
convex
1
&&
convex
2
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
(
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
2
)
{
m
front
=
offset
2
>=
0.0f
||
(
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
0
)
{
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
3
)
{
if
(
convex
2
)
{
m
front
=
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
}
else
{
m
front
=
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
m
polygon
b
.
count
=
polygon
b
.
m
count
;
for
(
int
i
=
0
;
i
<
polygon
b
.
m
count
;
++
i
)
{
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
vertices
[
i
]
,
m
polygon
b
.
vertices
[
i
]
)
;
rot
.
mul
to
out
unsafe
(
m
xf
.
q
,
polygon
b
.
m
normals
[
i
]
,
m
polygon
b
.
normals
[
i
]
)
;
}
m
radius
=
2.0f
*
settings
.
polygon
radius
;
manifold
.
point
count
=
0
;
compute
edge
separation
(
edge
axis
)
;
if
(
edge
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
return
;
}
if
(
edge
axis
.
separation
>
m
radius
)
{
return
;
}
compute
polygon
separation
(
polygon
axis
)
;
if
(
polygon
axis
.
type
!=
ep
axis
.
type
.
unknown
&&
polygon
axis
.
separation
>
m
radius
)
{
return
;
}
final
float
k
relative
tol
=
0.98f
;
final
float
k
absolute
tol
=
0.001f
;
ep
axis
primary
axis
;
if
(
polygon
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
primary
axis
=
edge
axis
;
}
else
if
(
polygon
axis
.
separation
>
k
relative
tol
*
edge
axis
.
separation
+
k
absolute
tol
)
{
primary
axis
=
polygon
axis
;
}
else
{
primary
axis
=
edge
axis
;
}
final
clip
vertex
ie
0
=
ie
[
0
]
;
final
clip
vertex
ie
1
=
ie
[
1
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
int
best
index
=
0
;
float
best
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
0
]
)
;
for
(
int
i
=
1
;
i
<
m
polygon
b
.
count
;
++
i
)
{
float
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
i
]
)
;
if
(
value
<
best
value
)
{
best
value
=
value
;
best
index
=
i
;
}
}
int
i
1
=
best
index
;
int
i
2
=
i
1
+
1
<
m
polygon
b
.
count
?
i
1
+
1
:
0
;
ie
0
.
v
.
set
(
m
polygon
b
.
vertices
[
i
1
]
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
i
1
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
polygon
b
.
vertices
[
i
2
]
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
i
2
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
m
front
)
{
rf
.
i
1
=
0
;
rf
.
i
2
=
1
;
rf
.
v
1
.
set
(
m
v
1
)
;
rf
.
v
2
.
set
(
m
v
2
)
;
rf
.
normal
.
set
(
m
normal
1
)
;
}
else
{
rf
.
i
1
=
1
;
rf
.
i
2
=
0
;
rf
.
v
1
.
set
(
m
v
2
)
;
rf
.
v
2
.
set
(
m
v
1
)
;
rf
.
normal
.
set
(
m
normal
1
)
.
negate
local
(
)
;
}
}
else
{
manifold
.
type
=
manifold
.
manifold
type
.
face
b
;
ie
0
.
v
.
set
(
m
v
1
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
v
2
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
rf
.
i
1
=
primary
axis
.
index
;
rf
.
i
2
=
rf
.
i
1
+
1
<
m
polygon
b
.
count
?
rf
.
i
1
+
1
:
0
;
rf
.
v
1
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
1
]
)
;
rf
.
v
2
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
2
]
)
;
rf
.
normal
.
set
(
m
polygon
b
.
normals
[
rf
.
i
1
]
)
;
}
rf
.
side
normal
1
.
set
(
rf
.
normal
.
y
,
-
rf
.
normal
.
x
)
;
rf
.
side
normal
2
.
set
(
rf
.
side
normal
1
)
.
negate
local
(
)
;
rf
.
side
offset
1
=
vec
2
.
dot
(
rf
.
side
normal
1
,
rf
.
v
1
)
;
rf
.
side
offset
2
=
vec
2
.
dot
(
rf
.
side
normal
2
,
rf
.
v
2
)
;
int
np
;
np
=
clip
segment
to
line
(
clip
points
1
,
ie
,
rf
.
side
normal
1
,
rf
.
side
offset
1
,
rf
.
i
1
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
rf
.
side
normal
2
,
rf
.
side
offset
2
,
rf
.
i
2
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
local
normal
.
set
(
rf
.
normal
)
;
manifold
.
local
point
.
set
(
rf
.
v
1
)
;
}
else
{
manifold
.
local
normal
.
set
(
polygon
b
.
m
normals
[
rf
.
i
1
]
)
;
manifold
.
local
point
.
set
(
polygon
b
.
m
vertices
[
rf
.
i
1
]
)
;
}
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
;
separation
=
vec
2
.
dot
(
rf
.
normal
,
temp
.
set
(
clip
points
2
[
i
]
.
v
)
.
sub
local
(
rf
.
v
1
)
)
;
if
(
separation
<=
m
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
transform
.
mul
trans
to
out
unsafe
(
m
xf
,
clip
points
2
[
i
]
.
v
,
cp
.
local
point
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
}
else
{
cp
.
local
point
.
set
(
clip
points
2
[
i
]
.
v
)
;
cp
.
id
.
type
a
=
clip
points
2
[
i
]
.
id
.
type
b
;
cp
.
id
.
type
b
=
clip
points
2
[
i
]
.
id
.
type
a
;
cp
.
id
.
index
a
=
clip
points
2
[
i
]
.
id
.
index
b
;
cp
.
id
.
index
b
=
clip
points
2
[
i
]
.
id
.
index
a
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
transform
.
mul
trans
to
out
unsafe
(
xf
a
,
xf
b
,
m
xf
)
;
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
centroid
,
m
centroid
b
)
;
m
v
0
=
edge
a
.
m
vertex
0
;
m
v
1
=
edge
a
.
m
vertex
1
;
m
v
2
=
edge
a
.
m
vertex
2
;
m
v
3
=
edge
a
.
m
vertex
3
;
boolean
has
vertex
0
=
edge
a
.
m
has
vertex
0
;
boolean
has
vertex
3
=
edge
a
.
m
has
vertex
3
;
edge
1
.
set
(
m
v
2
)
.
sub
local
(
m
v
1
)
;
edge
1
.
normalize
(
)
;
m
normal
1
.
set
(
edge
1
.
y
,
-
edge
1
.
x
)
;
float
offset
1
=
vec
2
.
dot
(
m
normal
1
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
1
)
)
;
float
offset
0
=
0.0f
,
offset
2
=
0.0f
;
boolean
convex
1
=
false
,
convex
2
=
false
;
if
(
has
vertex
0
)
{
edge
0
.
set
(
m
v
1
)
.
sub
local
(
m
v
0
)
;
edge
0
.
normalize
(
)
;
m
normal
0
.
set
(
edge
0
.
y
,
-
edge
0
.
x
)
;
convex
1
=
vec
2
.
cross
(
edge
0
,
edge
1
)
>=
0.0f
;
offset
0
=
vec
2
.
dot
(
m
normal
0
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
0
)
)
;
}
if
(
has
vertex
3
)
{
edge
2
.
set
(
m
v
3
)
.
sub
local
(
m
v
2
)
;
edge
2
.
normalize
(
)
;
m
normal
2
.
set
(
edge
2
.
y
,
-
edge
2
.
x
)
;
convex
2
=
vec
2
.
cross
(
edge
1
,
edge
2
)
>
0.0f
;
offset
2
=
vec
2
.
dot
(
m
normal
2
,
temp
.
set
(
m
centroid
b
)
.
sub
local
(
m
v
2
)
)
;
}
if
(
has
vertex
0
&&
has
vertex
3
)
{
if
(
convex
1
&&
convex
2
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
(
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
if
(
convex
2
)
{
m
front
=
offset
2
>=
0.0f
||
(
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
)
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
0
)
{
if
(
convex
1
)
{
m
front
=
offset
0
>=
0.0f
||
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
0
.
x
;
m
lower
limit
.
y
=
m
normal
0
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
0
>=
0.0f
&&
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
0
.
x
;
m
upper
limit
.
y
=
-
m
normal
0
.
y
;
}
}
}
else
if
(
has
vertex
3
)
{
if
(
convex
2
)
{
m
front
=
offset
1
>=
0.0f
||
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
2
.
x
;
m
upper
limit
.
y
=
m
normal
2
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
else
{
m
front
=
offset
1
>=
0.0f
&&
offset
2
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
2
.
x
;
m
lower
limit
.
y
=
-
m
normal
2
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
}
else
{
m
front
=
offset
1
>=
0.0f
;
if
(
m
front
)
{
m
normal
.
x
=
m
normal
1
.
x
;
m
normal
.
y
=
m
normal
1
.
y
;
m
lower
limit
.
x
=
-
m
normal
1
.
x
;
m
lower
limit
.
y
=
-
m
normal
1
.
y
;
m
upper
limit
.
x
=
-
m
normal
1
.
x
;
m
upper
limit
.
y
=
-
m
normal
1
.
y
;
}
else
{
m
normal
.
x
=
-
m
normal
1
.
x
;
m
normal
.
y
=
-
m
normal
1
.
y
;
m
lower
limit
.
x
=
m
normal
1
.
x
;
m
lower
limit
.
y
=
m
normal
1
.
y
;
m
upper
limit
.
x
=
m
normal
1
.
x
;
m
upper
limit
.
y
=
m
normal
1
.
y
;
}
}
m
polygon
b
.
count
=
polygon
b
.
m
count
;
for
(
int
i
=
0
;
i
<
polygon
b
.
m
count
;
++
i
)
{
transform
.
mul
to
out
unsafe
(
m
xf
,
polygon
b
.
m
vertices
[
i
]
,
m
polygon
b
.
vertices
[
i
]
)
;
rot
.
mul
to
out
unsafe
(
m
xf
.
q
,
polygon
b
.
m
normals
[
i
]
,
m
polygon
b
.
normals
[
i
]
)
;
}
m
radius
=
2.0f
*
settings
.
polygon
radius
;
manifold
.
point
count
=
0
;
compute
edge
separation
(
edge
axis
)
;
if
(
edge
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
return
;
}
if
(
edge
axis
.
separation
>
m
radius
)
{
return
;
}
compute
polygon
separation
(
polygon
axis
)
;
if
(
polygon
axis
.
type
!=
ep
axis
.
type
.
unknown
&&
polygon
axis
.
separation
>
m
radius
)
{
return
;
}
final
float
k
relative
tol
=
0.98f
;
final
float
k
absolute
tol
=
0.001f
;
ep
axis
primary
axis
;
if
(
polygon
axis
.
type
==
ep
axis
.
type
.
unknown
)
{
primary
axis
=
edge
axis
;
}
else
if
(
polygon
axis
.
separation
>
k
relative
tol
*
edge
axis
.
separation
+
k
absolute
tol
)
{
primary
axis
=
polygon
axis
;
}
else
{
primary
axis
=
edge
axis
;
}
final
clip
vertex
ie
0
=
ie
[
0
]
;
final
clip
vertex
ie
1
=
ie
[
1
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
type
=
manifold
.
manifold
type
.
face
a
;
int
best
index
=
0
;
float
best
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
0
]
)
;
for
(
int
i
=
1
;
i
<
m
polygon
b
.
count
;
++
i
)
{
float
value
=
vec
2
.
dot
(
m
normal
,
m
polygon
b
.
normals
[
i
]
)
;
if
(
value
<
best
value
)
{
best
value
=
value
;
best
index
=
i
;
}
}
int
i
1
=
best
index
;
int
i
2
=
i
1
+
1
<
m
polygon
b
.
count
?
i
1
+
1
:
0
;
ie
0
.
v
.
set
(
m
polygon
b
.
vertices
[
i
1
]
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
i
1
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
polygon
b
.
vertices
[
i
2
]
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
i
2
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
if
(
m
front
)
{
rf
.
i
1
=
0
;
rf
.
i
2
=
1
;
rf
.
v
1
.
set
(
m
v
1
)
;
rf
.
v
2
.
set
(
m
v
2
)
;
rf
.
normal
.
set
(
m
normal
1
)
;
}
else
{
rf
.
i
1
=
1
;
rf
.
i
2
=
0
;
rf
.
v
1
.
set
(
m
v
2
)
;
rf
.
v
2
.
set
(
m
v
1
)
;
rf
.
normal
.
set
(
m
normal
1
)
.
negate
local
(
)
;
}
}
else
{
manifold
.
type
=
manifold
.
manifold
type
.
face
b
;
ie
0
.
v
.
set
(
m
v
1
)
;
ie
0
.
id
.
index
a
=
0
;
ie
0
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
0
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
0
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
ie
1
.
v
.
set
(
m
v
2
)
;
ie
1
.
id
.
index
a
=
0
;
ie
1
.
id
.
index
b
=
(
byte
)
primary
axis
.
index
;
ie
1
.
id
.
type
a
=
(
byte
)
contact
id
.
type
.
vertex
.
ordinal
(
)
;
ie
1
.
id
.
type
b
=
(
byte
)
contact
id
.
type
.
face
.
ordinal
(
)
;
rf
.
i
1
=
primary
axis
.
index
;
rf
.
i
2
=
rf
.
i
1
+
1
<
m
polygon
b
.
count
?
rf
.
i
1
+
1
:
0
;
rf
.
v
1
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
1
]
)
;
rf
.
v
2
.
set
(
m
polygon
b
.
vertices
[
rf
.
i
2
]
)
;
rf
.
normal
.
set
(
m
polygon
b
.
normals
[
rf
.
i
1
]
)
;
}
rf
.
side
normal
1
.
set
(
rf
.
normal
.
y
,
-
rf
.
normal
.
x
)
;
rf
.
side
normal
2
.
set
(
rf
.
side
normal
1
)
.
negate
local
(
)
;
rf
.
side
offset
1
=
vec
2
.
dot
(
rf
.
side
normal
1
,
rf
.
v
1
)
;
rf
.
side
offset
2
=
vec
2
.
dot
(
rf
.
side
normal
2
,
rf
.
v
2
)
;
int
np
;
np
=
clip
segment
to
line
(
clip
points
1
,
ie
,
rf
.
side
normal
1
,
rf
.
side
offset
1
,
rf
.
i
1
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
np
=
clip
segment
to
line
(
clip
points
2
,
clip
points
1
,
rf
.
side
normal
2
,
rf
.
side
offset
2
,
rf
.
i
2
)
;
if
(
np
<
settings
.
max
manifold
points
)
{
return
;
}
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
manifold
.
local
normal
.
set
(
rf
.
normal
)
;
manifold
.
local
point
.
set
(
rf
.
v
1
)
;
}
else
{
manifold
.
local
normal
.
set
(
polygon
b
.
m
normals
[
rf
.
i
1
]
)
;
manifold
.
local
point
.
set
(
polygon
b
.
m
vertices
[
rf
.
i
1
]
)
;
}
int
point
count
=
0
;
for
(
int
i
=
0
;
i
<
settings
.
max
manifold
points
;
++
i
)
{
float
separation
;
separation
=
vec
2
.
dot
(
rf
.
normal
,
temp
.
set
(
clip
points
2
[
i
]
.
v
)
.
sub
local
(
rf
.
v
1
)
)
;
if
(
separation
<=
m
radius
)
{
manifold
point
cp
=
manifold
.
points
[
point
count
]
;
if
(
primary
axis
.
type
==
ep
axis
.
type
.
edge
a
)
{
transform
.
mul
trans
to
out
unsafe
(
m
xf
,
clip
points
2
[
i
]
.
v
,
cp
.
local
point
)
;
cp
.
id
.
set
(
clip
points
2
[
i
]
.
id
)
;
}
else
{
cp
.
local
point
.
set
(
clip
points
2
[
i
]
.
v
)
;
cp
.
id
.
type
a
=
clip
points
2
[
i
]
.
id
.
type
b
;
cp
.
id
.
type
b
=
clip
points
2
[
i
]
.
id
.
type
a
;
cp
.
id
.
index
a
=
clip
points
2
[
i
]
.
id
.
index
b
;
cp
.
id
.
index
b
=
clip
points
2
[
i
]
.
id
.
index
a
;
}
++
point
count
;
}
}
manifold
.
point
count
=
point
count
;
}
<SENTENCE_END/>
compute,edge,separationcomputeset (3.64e-01)
%UNK% (9.43e-02)
get (8.39e-02)
rotate (2.20e-02)
solve (1.93e-02)
create (1.56e-02)
update (1.49e-02)
%END% (1.40e-02)
add (1.31e-02)
setup (1.06e-02)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
edge%END% (5.21e-01)
%UNK% (5.85e-02)
get (3.24e-02)
to (1.91e-02)
set (8.55e-03)
separation (7.24e-03)
axis (6.95e-03)
transform (6.60e-03)
normal (6.45e-03)
polygon (6.37e-03)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
separation%END% (7.87e-01)
%UNK% (2.11e-02)
to (1.03e-02)
get (7.73e-03)
separation (4.09e-03)
in (3.63e-03)
2 (3.35e-03)
polygon (3.27e-03)
transform (2.58e-03)
float (2.48e-03)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
%END%%END% (8.44e-01)
%UNK% (1.36e-02)
to (7.43e-03)
get (4.32e-03)
separation (3.87e-03)
in (2.62e-03)
2 (2.56e-03)
polygon (2.18e-03)
position (2.09e-03)
float (2.06e-03)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
edge
a
;
axis
.
index
=
m
front
?
0
:
1
;
axis
.
separation
=
float
.
max
value
;
float
nx
=
m
normal
.
x
;
float
ny
=
m
normal
.
y
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
v
=
m
polygon
b
.
vertices
[
i
]
;
float
tempx
=
v
.
x
-
m
v
1
.
x
;
float
tempy
=
v
.
y
-
m
v
1
.
y
;
float
s
=
nx
*
tempx
+
ny
*
tempy
;
if
(
s
<
axis
.
separation
)
{
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
compute,polygon,separationcompute%UNK% (1.37e-01)
%END% (1.10e-01)
get (8.91e-02)
set (8.28e-02)
to (2.68e-02)
solve (1.48e-02)
add (1.42e-02)
create (1.19e-02)
initialize (1.07e-02)
mul (1.03e-02)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
polygon%END% (5.55e-01)
%UNK% (5.96e-02)
to (2.11e-02)
get (2.00e-02)
set (8.29e-03)
2 (5.93e-03)
in (5.72e-03)
out (5.34e-03)
axis (5.23e-03)
normal (4.87e-03)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
separation%END% (6.97e-01)
%UNK% (4.09e-02)
to (1.66e-02)
get (1.01e-02)
in (4.92e-03)
2 (4.82e-03)
out (4.11e-03)
set (3.85e-03)
point (3.49e-03)
y (3.27e-03)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
%END%%END% (7.59e-01)
%UNK% (3.24e-02)
to (1.41e-02)
get (6.69e-03)
in (4.35e-03)
2 (4.13e-03)
out (3.45e-03)
point (2.80e-03)
y (2.69e-03)
x (2.51e-03)
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
axis
.
type
=
ep
axis
.
type
.
unknown
;
axis
.
index
=
-
1
;
axis
.
separation
=
-
float
.
max
value
;
perp
.
x
=
-
m
normal
.
y
;
perp
.
y
=
m
normal
.
x
;
for
(
int
i
=
0
;
i
<
m
polygon
b
.
count
;
++
i
)
{
vec
2
normal
b
=
m
polygon
b
.
normals
[
i
]
;
vec
2
v
b
=
m
polygon
b
.
vertices
[
i
]
;
n
.
x
=
-
normal
b
.
x
;
n
.
y
=
-
normal
b
.
y
;
float
tempx
=
v
b
.
x
-
m
v
1
.
x
;
float
tempy
=
v
b
.
y
-
m
v
1
.
y
;
float
s
1
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
tempx
=
v
b
.
x
-
m
v
2
.
x
;
tempy
=
v
b
.
y
-
m
v
2
.
y
;
float
s
2
=
n
.
x
*
tempx
+
n
.
y
*
tempy
;
float
s
=
math
utils
.
min
(
s
1
,
s
2
)
;
if
(
s
>
m
radius
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
return
;
}
if
(
n
.
x
*
perp
.
x
+
n
.
y
*
perp
.
y
>=
0.0f
)
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
upper
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
else
{
if
(
vec
2
.
dot
(
temp
.
set
(
n
)
.
sub
local
(
m
lower
limit
)
,
m
normal
)
<
-
settings
.
angular
slop
)
{
continue
;
}
}
if
(
s
>
axis
.
separation
)
{
axis
.
type
=
ep
axis
.
type
.
edge
b
;
axis
.
index
=
i
;
axis
.
separation
=
s
;
}
}
}
<SENTENCE_END/>
get,colorgetget (9.75e-01)
is (1.60e-02)
color (2.99e-03)
return (1.22e-03)
append (1.14e-03)
protected (3.06e-04)
needs (1.99e-04)
iterator (1.49e-04)
owns (1.32e-04)
duration (1.22e-04)
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
colorcolor (9.98e-01)
return (1.73e-03)
draw (2.83e-05)
line (1.31e-05)
rectangle (8.84e-06)
%END% (7.28e-06)
rect (4.28e-06)
percent (3.43e-06)
depth (3.27e-06)
circle (2.93e-06)
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
%END%%END% (9.18e-01)
color (1.52e-02)
value (9.61e-03)
only (2.45e-03)
buffer (2.35e-03)
offset (1.75e-03)
height (1.70e-03)
width (1.51e-03)
array (1.40e-03)
20 (1.40e-03)
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
set,colorsetcolor (8.26e-01)
draw (8.55e-02)
set (3.00e-02)
rect (9.64e-03)
line (5.55e-03)
fill (3.05e-03)
begin (2.40e-03)
render (2.20e-03)
end (1.86e-03)
pack (1.76e-03)
<SENTENCE_START>
{
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
color
.
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
color
.
a
)
;
}
<SENTENCE_END/>
colorcolor (8.02e-01)
%END% (1.23e-01)
draw (1.58e-02)
rect (1.13e-02)
line (9.14e-03)
circle (8.11e-03)
triangle (4.60e-03)
component (1.26e-03)
set (1.26e-03)
%UNK% (1.09e-03)
<SENTENCE_START>
{
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
color
.
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
color
.
a
)
;
}
<SENTENCE_END/>
%END%%END% (9.16e-01)
color (4.05e-02)
line (4.14e-03)
circle (3.47e-03)
%UNK% (2.08e-03)
rect (1.84e-03)
triangle (1.65e-03)
from (1.47e-03)
draw (1.47e-03)
a (1.31e-03)
<SENTENCE_START>
{
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
color
.
a
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
color
.
a
)
;
}
<SENTENCE_END/>
set,colorsetset (6.85e-01)
load (3.11e-02)
get (2.96e-02)
%UNK% (2.91e-02)
create (2.31e-02)
draw (1.82e-02)
render (9.30e-03)
color (9.18e-03)
parse (5.58e-03)
end (5.17e-03)
<SENTENCE_START>
{
color
.
set
(
r
,
g
,
b
,
a
)
;
if
(
model
instance
!=
null
)
{
for
(
material
m
:
model
instance
.
materials
)
{
color
attribute
ca
=
(
color
attribute
)
m
.
get
(
color
attribute
.
diffuse
)
;
if
(
ca
!=
null
)
ca
.
color
.
set
(
r
,
g
,
b
,
a
)
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
color
.
set
(
r
,
g
,
b
,
a
)
;
if
(
model
instance
!=
null
)
{
for
(
material
m
:
model
instance
.
materials
)
{
color
attribute
ca
=
(
color
attribute
)
m
.
get
(
color
attribute
.
diffuse
)
;
if
(
ca
!=
null
)
ca
.
color
.
set
(
r
,
g
,
b
,
a
)
;
}
}
}
<SENTENCE_END/>
color%END% (6.43e-01)
color (1.02e-01)
model (5.15e-02)
diffuse (3.22e-02)
ca (1.81e-02)
%UNK% (9.79e-03)
material (8.18e-03)
attribute (7.67e-03)
materials (6.58e-03)
instance (5.29e-03)
<SENTENCE_START>
{
color
.
set
(
r
,
g
,
b
,
a
)
;
if
(
model
instance
!=
null
)
{
for
(
material
m
:
model
instance
.
materials
)
{
color
attribute
ca
=
(
color
attribute
)
m
.
get
(
color
attribute
.
diffuse
)
;
if
(
ca
!=
null
)
ca
.
color
.
set
(
r
,
g
,
b
,
a
)
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
color
.
set
(
r
,
g
,
b
,
a
)
;
if
(
model
instance
!=
null
)
{
for
(
material
m
:
model
instance
.
materials
)
{
color
attribute
ca
=
(
color
attribute
)
m
.
get
(
color
attribute
.
diffuse
)
;
if
(
ca
!=
null
)
ca
.
color
.
set
(
r
,
g
,
b
,
a
)
;
}
}
}
<SENTENCE_END/>
%END%%END% (9.51e-01)
color (4.41e-03)
%UNK% (2.86e-03)
ca (2.43e-03)
model (2.08e-03)
instance (2.06e-03)
attribute (1.71e-03)
set (1.08e-03)
b (8.99e-04)
for (8.97e-04)
<SENTENCE_START>
{
color
.
set
(
r
,
g
,
b
,
a
)
;
if
(
model
instance
!=
null
)
{
for
(
material
m
:
model
instance
.
materials
)
{
color
attribute
ca
=
(
color
attribute
)
m
.
get
(
color
attribute
.
diffuse
)
;
if
(
ca
!=
null
)
ca
.
color
.
set
(
r
,
g
,
b
,
a
)
;
}
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
color
.
set
(
r
,
g
,
b
,
a
)
;
if
(
model
instance
!=
null
)
{
for
(
material
m
:
model
instance
.
materials
)
{
color
attribute
ca
=
(
color
attribute
)
m
.
get
(
color
attribute
.
diffuse
)
;
if
(
ca
!=
null
)
ca
.
color
.
set
(
r
,
g
,
b
,
a
)
;
}
}
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
set,valuessetset (9.87e-01)
values (6.75e-03)
data (1.47e-03)
triplet (4.66e-04)
index (4.37e-04)
collision (3.55e-04)
int (3.08e-04)
jni (2.52e-04)
ptr (2.07e-04)
c (2.02e-04)
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
values
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
values
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
valuesvalues (9.81e-01)
data (9.29e-03)
%END% (5.53e-03)
set (2.19e-03)
triplet (9.59e-04)
index (7.87e-04)
%UNK% (1.99e-04)
value (7.24e-05)
collision (2.73e-05)
get (2.15e-05)
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
values
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
values
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (9.31e-01)
values (3.58e-02)
data (1.60e-02)
triplet (4.76e-03)
set (1.77e-03)
jni (1.40e-03)
collision (1.38e-03)
value (8.18e-04)
bt (6.73e-04)
short (5.83e-04)
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
values
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
values
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
get,valuesgetget (9.86e-01)
values (7.00e-03)
data (1.73e-03)
collision (5.34e-04)
triplet (5.16e-04)
return (4.28e-04)
index (4.16e-04)
int (2.84e-04)
jni (2.76e-04)
ptr (2.55e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
values
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
values
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
valuesvalues (9.88e-01)
data (4.69e-03)
%END% (4.63e-03)
get (1.23e-03)
triplet (2.16e-04)
%UNK% (1.66e-04)
collision (1.60e-04)
index (1.19e-04)
set (9.64e-05)
ptr (2.21e-05)
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
values
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
values
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.46e-01)
values (2.98e-02)
data (9.34e-03)
triplet (2.26e-03)
get (2.24e-03)
jni (2.20e-03)
collision (1.93e-03)
ptr (5.29e-04)
bt (4.37e-04)
short (3.63e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
values
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
values
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
set,padsetset (9.86e-01)
pad (8.62e-03)
data (1.52e-03)
triplet (3.52e-04)
index (3.20e-04)
collision (2.69e-04)
int (2.34e-04)
jni (1.70e-04)
c (1.66e-04)
ptr (1.60e-04)
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
pad
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
pad
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
padpad (9.96e-01)
set (2.28e-03)
data (1.30e-03)
%END% (2.30e-04)
index (1.33e-04)
get (3.90e-05)
triplet (3.76e-05)
value (1.38e-05)
%UNK% (1.27e-05)
collision (6.41e-06)
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
pad
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
pad
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (9.49e-01)
pad (3.14e-02)
set (4.49e-03)
data (4.28e-03)
triplet (1.86e-03)
collision (1.09e-03)
jni (1.02e-03)
value (6.99e-04)
bt (3.90e-04)
short (3.72e-04)
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
pad
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
short
int
index
triplet
data
pad
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
get,padgetget (9.85e-01)
pad (9.10e-03)
data (1.75e-03)
collision (3.92e-04)
triplet (3.83e-04)
return (3.27e-04)
index (2.98e-04)
int (2.15e-04)
c (1.96e-04)
ptr (1.87e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
pad
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
pad
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
padpad (9.97e-01)
get (2.04e-03)
data (6.67e-04)
%END% (7.26e-05)
set (3.06e-05)
index (3.03e-05)
collision (2.22e-05)
triplet (1.11e-05)
%UNK% (6.17e-06)
return (4.19e-06)
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
pad
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
pad
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.29e-01)
pad (4.36e-02)
get (1.07e-02)
data (4.09e-03)
collision (2.29e-03)
jni (2.14e-03)
triplet (1.51e-03)
c (4.49e-04)
ptr (4.25e-04)
return (4.23e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
pad
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
short
int
index
triplet
data
pad
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
get,info,1,non,virtualgetget (9.69e-01)
info (1.08e-02)
constraint (8.51e-03)
1 (2.29e-03)
non (1.59e-03)
virtual (1.49e-03)
twist (1.44e-03)
bt (4.58e-04)
c (3.98e-04)
ptr (3.18e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
infoinfo (9.87e-01)
1 (9.58e-03)
get (2.65e-03)
%END% (5.38e-04)
set (1.25e-04)
constraint (1.13e-05)
bt (1.13e-05)
2 (1.10e-05)
swig (1.00e-05)
twist (8.30e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
11 (9.20e-01)
non (6.67e-02)
info (1.21e-02)
%END% (3.64e-04)
virtual (2.15e-04)
get (8.93e-05)
constraint (4.62e-05)
twist (3.56e-05)
bt (2.36e-05)
ptr (1.93e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
nonnon (8.61e-01)
1 (9.83e-02)
virtual (3.32e-02)
%END% (4.09e-03)
info (7.47e-04)
constraint (4.66e-04)
get (2.27e-04)
twist (2.24e-04)
ptr (1.83e-04)
bt (1.61e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
virtualnon (3.50e-01)
%END% (3.16e-01)
virtual (2.97e-01)
1 (4.61e-03)
constraint (3.06e-03)
get (2.86e-03)
info (2.10e-03)
bt (2.06e-03)
ptr (1.82e-03)
c (1.56e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
%END%%END% (6.87e-01)
virtual (1.88e-01)
non (8.73e-02)
get (3.43e-03)
bt (2.94e-03)
constraint (2.40e-03)
info (1.76e-03)
set (1.76e-03)
ptr (1.66e-03)
c (1.51e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
1
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
1
.
get
c
ptr
(
info
)
,
info
)
;
}
<SENTENCE_END/>
get,info,2,non,virtualgetget (9.73e-01)
info (6.77e-03)
constraint (4.89e-03)
2 (2.16e-03)
non (1.84e-03)
virtual (1.43e-03)
twist (1.02e-03)
inertia (8.91e-04)
inv (8.11e-04)
trans (5.91e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
infoinfo (9.72e-01)
2 (2.09e-02)
get (3.69e-03)
%END% (2.65e-03)
set (7.05e-05)
non (4.57e-05)
create (3.85e-05)
bt (3.37e-05)
constraint (3.00e-05)
twist (2.59e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
22 (8.83e-01)
non (1.02e-01)
info (1.28e-02)
%END% (6.86e-04)
virtual (6.66e-04)
get (1.25e-04)
constraint (8.90e-05)
twist (7.80e-05)
ptr (4.18e-05)
bt (4.16e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
nonnon (8.38e-01)
2 (8.70e-02)
virtual (6.02e-02)
%END% (8.60e-03)
info (7.44e-04)
constraint (6.20e-04)
world (4.51e-04)
inertia (4.48e-04)
twist (3.19e-04)
ptr (2.96e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
virtualnon (6.00e-01)
virtual (2.43e-01)
%END% (1.20e-01)
2 (1.49e-02)
constraint (1.92e-03)
world (1.57e-03)
inertia (1.45e-03)
ptr (1.09e-03)
info (9.50e-04)
bt (8.87e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
%END%%END% (7.64e-01)
virtual (1.40e-01)
non (5.68e-02)
2 (2.66e-03)
bt (2.12e-03)
world (1.84e-03)
constraint (1.70e-03)
inertia (1.60e-03)
ptr (1.31e-03)
get (1.26e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
get
info
2
non
virtual
(
swig
c
ptr
,
this
,
bt
typed
constraint
.
bt
constraint
info
2
.
get
c
ptr
(
info
)
,
info
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
update,rhsupdateupdate (8.84e-01)
rhs (8.12e-02)
constraint (2.32e-02)
twist (3.91e-03)
time (1.31e-03)
cone (6.56e-04)
step (4.67e-04)
this (4.48e-04)
dynamics (2.82e-04)
jni (2.71e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
update
rhs
(
swig
c
ptr
,
this
,
time
step
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
update
rhs
(
swig
c
ptr
,
this
,
time
step
)
;
}
<SENTENCE_END/>
rhsrhs (9.94e-01)
%END% (3.57e-03)
update (1.11e-03)
%UNK% (8.70e-05)
set (5.17e-05)
get (2.98e-05)
render (2.53e-05)
style (1.71e-05)
action (1.63e-05)
performed (1.53e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
update
rhs
(
swig
c
ptr
,
this
,
time
step
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
update
rhs
(
swig
c
ptr
,
this
,
time
step
)
;
}
<SENTENCE_END/>
%END%%END% (9.86e-01)
rhs (9.79e-03)
%UNK% (2.35e-04)
rad (1.87e-04)
bt (1.16e-04)
update (4.87e-05)
performed (4.04e-05)
aligned (3.96e-05)
set (3.94e-05)
endian (3.74e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
update
rhs
(
swig
c
ptr
,
this
,
time
step
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
update
rhs
(
swig
c
ptr
,
this
,
time
step
)
;
}
<SENTENCE_END/>
get,rigid,body,agetget (9.71e-01)
rigid (1.17e-02)
constraint (6.27e-03)
body (2.86e-03)
twist (1.74e-03)
a (1.39e-03)
bt (5.63e-04)
instance (3.72e-04)
cone (3.51e-04)
return (2.77e-04)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
rigidrigid (9.95e-01)
get (3.18e-03)
body (9.80e-04)
%END% (6.78e-04)
instance (3.86e-04)
create (1.56e-05)
bt (1.18e-05)
%UNK% (1.12e-05)
new (1.02e-05)
twist (8.95e-06)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
bodybody (9.70e-01)
rigid (2.09e-02)
a (8.07e-03)
%END% (5.33e-04)
get (5.36e-05)
twist (2.32e-05)
instance (1.38e-05)
constraint (1.32e-05)
cone (1.01e-05)
bt (9.20e-06)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
aa (8.57e-01)
body (9.57e-02)
%END% (4.31e-02)
instance (1.87e-04)
get (1.83e-04)
rigid (1.53e-04)
bt (1.21e-04)
constraint (1.18e-04)
twist (7.96e-05)
%UNK% (5.80e-05)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
%END%%END% (8.66e-01)
a (1.15e-01)
bt (1.36e-03)
instance (1.33e-03)
body (1.26e-03)
get (1.12e-03)
%UNK% (9.47e-04)
double (2.40e-04)
endian (2.16e-04)
c (1.94e-04)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
a
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
get,rigid,body,bgetget (9.74e-01)
rigid (1.06e-02)
constraint (5.01e-03)
body (2.92e-03)
twist (1.56e-03)
b (1.56e-03)
bt (5.30e-04)
instance (3.45e-04)
cone (3.37e-04)
return (2.62e-04)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
rigidrigid (9.95e-01)
get (3.02e-03)
body (9.56e-04)
%END% (5.39e-04)
instance (3.79e-04)
create (1.34e-05)
bt (9.78e-06)
new (9.53e-06)
%UNK% (9.04e-06)
twist (8.41e-06)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
bodybody (9.70e-01)
rigid (2.14e-02)
b (7.38e-03)
%END% (5.42e-04)
get (4.99e-05)
twist (2.16e-05)
instance (1.33e-05)
constraint (1.17e-05)
cone (8.59e-06)
bt (8.20e-06)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
bb (8.17e-01)
body (1.19e-01)
%END% (5.98e-02)
instance (2.07e-04)
get (1.98e-04)
rigid (1.60e-04)
bt (1.34e-04)
constraint (8.96e-05)
%UNK% (7.33e-05)
twist (6.46e-05)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
%END%%END% (8.92e-01)
b (9.20e-02)
body (1.40e-03)
instance (1.22e-03)
bt (1.21e-03)
get (9.79e-04)
%UNK% (8.82e-04)
double (2.41e-04)
endian (2.08e-04)
c (1.83e-04)
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
rigid
body
.
get
instance
(
dynamics
jni
.
bt
cone
twist
constraint
get
rigid
body
b
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
set,angular,onlysetset (9.78e-01)
angular (1.08e-02)
constraint (6.66e-03)
only (1.68e-03)
twist (1.15e-03)
cone (2.52e-04)
c (1.67e-04)
dynamics (1.56e-04)
swig (1.31e-04)
jni (1.21e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
angularangular (9.92e-01)
only (4.35e-03)
%END% (2.42e-03)
set (7.44e-04)
%UNK% (3.67e-05)
twist (2.69e-05)
bt (1.62e-05)
get (1.39e-05)
aligned (1.09e-05)
cone (1.01e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
onlyonly (9.96e-01)
%END% (2.48e-03)
angular (1.45e-03)
constraint (2.71e-05)
twist (1.94e-05)
cone (7.11e-06)
set (5.26e-06)
bt (4.63e-06)
jni (3.89e-06)
dynamics (3.56e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
%END%%END% (8.14e-01)
only (1.76e-01)
bt (2.70e-04)
%UNK% (2.42e-04)
rad (2.07e-04)
set (1.06e-04)
constraint (1.05e-04)
endian (9.92e-05)
double (8.65e-05)
angular (8.47e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
angular
only
(
swig
c
ptr
,
this
,
angular
only
)
;
}
<SENTENCE_END/>
set,limitsetset (9.76e-01)
limit (8.47e-03)
constraint (7.36e-03)
twist (2.11e-03)
swig (4.55e-04)
index (4.52e-04)
0 (4.04e-04)
cone (3.99e-04)
jni (3.34e-04)
dynamics (3.11e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
0
(
swig
c
ptr
,
this
,
limit
index
,
limit
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
0
(
swig
c
ptr
,
this
,
limit
index
,
limit
value
)
;
}
<SENTENCE_END/>
limitlimit (9.91e-01)
%END% (7.25e-03)
set (5.83e-04)
twist (1.73e-04)
get (4.03e-05)
swig (3.17e-05)
cone (1.83e-05)
constraint (1.16e-05)
bt (1.10e-05)
double (7.88e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
0
(
swig
c
ptr
,
this
,
limit
index
,
limit
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
0
(
swig
c
ptr
,
this
,
limit
index
,
limit
value
)
;
}
<SENTENCE_END/>
%END%%END% (8.62e-01)
limit (3.05e-02)
twist (1.16e-02)
constraint (4.04e-03)
swig (2.37e-03)
index (1.50e-03)
0 (1.44e-03)
cone (9.54e-04)
value (8.14e-04)
ptr (6.26e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
0
(
swig
c
ptr
,
this
,
limit
index
,
limit
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
0
(
swig
c
ptr
,
this
,
limit
index
,
limit
value
)
;
}
<SENTENCE_END/>
set,limitsetset (9.68e-01)
limit (5.87e-03)
constraint (4.93e-03)
swing (3.15e-03)
span (2.65e-03)
twist (2.39e-03)
2 (8.93e-04)
bias (8.41e-04)
1 (6.81e-04)
swig (4.71e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
1
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
,
relaxation
factor
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
1
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
,
relaxation
factor
)
;
}
<SENTENCE_END/>
limitlimit (8.32e-01)
%END% (1.14e-01)
set (8.03e-03)
get (7.99e-03)
swing (7.68e-03)
twist (2.61e-03)
bias (1.26e-03)
%UNK% (1.09e-03)
span (1.08e-03)
swig (8.37e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
1
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
,
relaxation
factor
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
1
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
,
relaxation
factor
)
;
}
<SENTENCE_END/>
%END%%END% (7.83e-01)
span (3.51e-02)
limit (2.41e-02)
swing (1.31e-02)
twist (9.48e-03)
swig (7.25e-03)
factor (5.77e-03)
1 (5.59e-03)
get (4.33e-03)
set (3.49e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
1
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
,
relaxation
factor
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
1
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
,
relaxation
factor
)
;
}
<SENTENCE_END/>
set,limitsetset (9.73e-01)
limit (4.02e-03)
constraint (3.84e-03)
swing (3.13e-03)
span (2.62e-03)
twist (2.34e-03)
2 (1.50e-03)
bias (5.37e-04)
swig (4.84e-04)
cone (4.39e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
2
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
2
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
)
;
}
<SENTENCE_END/>
limitlimit (7.97e-01)
%END% (1.38e-01)
swing (1.13e-02)
set (1.00e-02)
get (7.86e-03)
twist (4.63e-03)
cone (1.53e-03)
span (1.34e-03)
swig (1.22e-03)
%UNK% (1.16e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
2
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
2
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
)
;
}
<SENTENCE_END/>
%END%%END% (7.46e-01)
span (4.36e-02)
limit (2.51e-02)
swing (1.55e-02)
twist (1.35e-02)
swig (9.25e-03)
2 (5.18e-03)
constraint (4.84e-03)
factor (4.43e-03)
ptr (3.28e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
2
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
2
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
,
bias
factor
)
;
}
<SENTENCE_END/>
set,limitsetset (9.74e-01)
constraint (4.14e-03)
limit (4.03e-03)
swing (3.19e-03)
span (2.63e-03)
twist (2.59e-03)
2 (6.13e-04)
3 (5.05e-04)
cone (4.78e-04)
swig (4.60e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
3
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
3
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
)
;
}
<SENTENCE_END/>
limitlimit (8.26e-01)
%END% (1.29e-01)
set (7.15e-03)
swing (5.69e-03)
twist (5.41e-03)
get (3.96e-03)
cone (1.47e-03)
swig (8.39e-04)
span (8.13e-04)
%UNK% (7.92e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
3
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
3
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
)
;
}
<SENTENCE_END/>
%END%%END% (8.24e-01)
span (3.34e-02)
limit (2.08e-02)
twist (1.50e-02)
swing (9.00e-03)
swig (5.49e-03)
constraint (4.39e-03)
3 (3.28e-03)
cone (2.84e-03)
ptr (2.23e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
3
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
3
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
,
softness
)
;
}
<SENTENCE_END/>
set,limitsetset (9.70e-01)
limit (5.83e-03)
constraint (5.30e-03)
swing (4.09e-03)
twist (2.75e-03)
span (2.35e-03)
4 (1.06e-03)
swig (6.80e-04)
cone (5.35e-04)
2 (5.20e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
4
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
4
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
)
;
}
<SENTENCE_END/>
limitlimit (9.11e-01)
%END% (6.04e-02)
swing (4.32e-03)
set (4.22e-03)
get (4.18e-03)
twist (1.53e-03)
%UNK% (6.71e-04)
%START% (6.46e-04)
swig (6.27e-04)
span (4.33e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
4
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
4
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
)
;
}
<SENTENCE_END/>
%END%%END% (7.03e-01)
span (6.89e-02)
limit (2.84e-02)
swing (1.32e-02)
twist (1.10e-02)
swig (7.65e-03)
2 (4.62e-03)
1 (3.77e-03)
4 (3.47e-03)
ptr (3.02e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
4
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
limit
swig
4
(
swig
c
ptr
,
this
,
swing
span
1
,
swing
span
2
,
twist
span
)
;
}
<SENTENCE_END/>
get,a,framegetget (9.83e-01)
constraint (6.24e-03)
a (5.04e-03)
twist (1.95e-03)
frame (1.29e-03)
cone (4.48e-04)
dynamics (2.13e-04)
return (2.12e-04)
c (1.59e-04)
bt (1.53e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
aa (9.90e-01)
frame (5.01e-03)
%END% (3.26e-03)
get (1.29e-03)
twist (1.70e-04)
constraint (2.98e-05)
cone (1.76e-05)
bt (6.83e-06)
c (5.53e-06)
%UNK% (5.32e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
frameframe (9.94e-01)
a (3.39e-03)
%END% (2.04e-03)
constraint (1.29e-04)
twist (4.55e-05)
get (1.88e-05)
cone (4.79e-06)
ptr (3.54e-06)
jni (3.00e-06)
dynamics (2.20e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
frame (4.62e-02)
bt (1.81e-04)
constraint (1.08e-04)
rad (8.42e-05)
%UNK% (8.20e-05)
endian (7.56e-05)
a (7.40e-05)
2 (6.55e-05)
double (4.59e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
a
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,b,framegetget (9.84e-01)
constraint (5.49e-03)
b (5.34e-03)
twist (1.57e-03)
frame (1.19e-03)
cone (3.50e-04)
dynamics (2.05e-04)
return (1.99e-04)
c (1.63e-04)
swig (1.52e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
bb (9.90e-01)
frame (5.79e-03)
%END% (2.18e-03)
get (1.37e-03)
twist (1.47e-04)
instance (5.60e-05)
constraint (1.88e-05)
cone (1.44e-05)
max (8.75e-06)
c (6.23e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
frameframe (9.96e-01)
%END% (2.19e-03)
b (1.83e-03)
constraint (1.08e-04)
twist (4.15e-05)
get (1.04e-05)
cone (4.27e-06)
ptr (3.86e-06)
jni (3.24e-06)
dynamics (2.50e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (7.58e-01)
frame (2.36e-01)
constraint (2.15e-04)
b (1.66e-04)
bt (1.27e-04)
rad (6.89e-05)
%UNK% (6.81e-05)
endian (6.36e-05)
double (6.35e-05)
2 (5.64e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
b
frame
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,solve,twist,limitgetget (9.73e-01)
solve (1.12e-02)
constraint (7.77e-03)
twist (4.86e-03)
limit (1.10e-03)
cone (3.97e-04)
return (1.66e-04)
dynamics (1.63e-04)
swig (1.51e-04)
c (1.32e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
solvesolve (9.87e-01)
twist (1.10e-02)
get (1.09e-03)
%END% (9.06e-04)
constraint (1.01e-05)
cone (6.90e-06)
limit (2.85e-06)
swig (2.67e-06)
dynamics (2.37e-06)
c (2.37e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
twisttwist (9.82e-01)
limit (1.26e-02)
solve (5.00e-03)
%END% (2.23e-04)
get (2.45e-05)
constraint (1.87e-05)
cone (5.33e-06)
ptr (2.81e-06)
this (2.62e-06)
c (2.61e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
limitlimit (8.66e-01)
%END% (7.29e-02)
twist (5.91e-02)
constraint (1.25e-04)
solve (7.28e-05)
get (6.80e-05)
bt (3.93e-05)
c (1.73e-05)
ptr (1.68e-05)
swig (1.64e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.06e-01)
limit (8.83e-02)
twist (8.53e-04)
bt (3.80e-04)
get (3.30e-04)
rad (1.40e-04)
%UNK% (1.24e-04)
c (1.10e-04)
swig (9.94e-05)
constraint (8.39e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
twist
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,solve,swing,limitgetget (9.68e-01)
solve (1.90e-02)
swing (4.92e-03)
constraint (3.79e-03)
limit (1.40e-03)
twist (9.65e-04)
cone (2.03e-04)
return (1.51e-04)
dynamics (1.47e-04)
swig (1.44e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
solvesolve (9.30e-01)
swing (6.86e-02)
%END% (8.44e-04)
get (4.43e-04)
limit (1.53e-05)
twist (9.83e-06)
cone (3.86e-06)
constraint (2.48e-06)
dynamics (2.40e-06)
c (2.07e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
swingswing (9.58e-01)
limit (4.05e-02)
solve (1.67e-03)
%END% (1.98e-04)
twist (7.32e-06)
get (5.99e-06)
constraint (4.49e-06)
cone (3.76e-06)
bt (1.94e-06)
ptr (1.92e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
limitlimit (8.69e-01)
%END% (1.04e-01)
swing (2.33e-02)
get (1.61e-04)
bt (4.94e-05)
constraint (3.24e-05)
solve (3.20e-05)
%UNK% (2.84e-05)
swig (2.24e-05)
c (2.13e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (8.49e-01)
limit (1.41e-01)
get (1.14e-03)
swing (1.09e-03)
bt (3.49e-04)
%UNK% (2.38e-04)
c (1.37e-04)
2 (1.15e-04)
rad (1.09e-04)
swig (1.09e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
solve
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,twist,limit,signgetget (9.80e-01)
twist (8.91e-03)
constraint (4.68e-03)
limit (1.76e-03)
sign (1.23e-03)
cone (3.81e-04)
return (2.56e-04)
dynamics (2.21e-04)
swig (2.14e-04)
c (1.69e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
twisttwist (9.96e-01)
get (2.50e-03)
limit (1.16e-03)
%END% (3.22e-04)
double (8.65e-06)
tint (4.73e-06)
cone (4.14e-06)
swig (3.86e-06)
constraint (3.59e-06)
c (2.99e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
limitlimit (9.85e-01)
twist (9.30e-03)
sign (5.15e-03)
%END% (2.40e-04)
get (1.57e-05)
constraint (7.19e-06)
cone (5.15e-06)
c (3.64e-06)
this (2.84e-06)
bt (2.60e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
sign%END% (8.97e-01)
sign (9.60e-02)
limit (1.11e-03)
get (4.23e-04)
bt (3.93e-04)
double (2.71e-04)
c (1.75e-04)
rad (1.60e-04)
swig (1.29e-04)
constraint (1.13e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (8.58e-01)
sign (1.34e-01)
limit (1.64e-03)
get (4.29e-04)
bt (3.82e-04)
double (2.61e-04)
c (1.70e-04)
rad (1.53e-04)
swig (1.29e-04)
constraint (1.26e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
limit
sign
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
calc,angle,infocalccalc (9.55e-01)
angle (2.92e-02)
constraint (9.35e-03)
info (3.19e-03)
twist (9.51e-04)
c (1.98e-04)
cone (1.92e-04)
swig (1.68e-04)
dynamics (1.67e-04)
jni (1.33e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
angleangle (9.96e-01)
info (2.35e-03)
%END% (7.11e-04)
calc (6.17e-04)
rad (2.23e-05)
get (3.45e-06)
2 (3.01e-06)
set (1.71e-06)
atan (9.78e-07)
c (8.77e-07)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
infoinfo (9.56e-01)
%END% (3.87e-02)
angle (4.82e-03)
rad (1.08e-05)
c (4.57e-06)
ptr (4.33e-06)
bt (3.63e-06)
2 (2.93e-06)
dynamics (2.88e-06)
jni (2.54e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.60e-01)
info (3.77e-02)
rad (1.21e-04)
angle (8.46e-05)
bt (4.53e-05)
2 (4.39e-05)
%UNK% (3.73e-05)
endian (2.72e-05)
double (1.99e-05)
float (1.45e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
calc,angle,info,2calccalc (9.40e-01)
angle (2.98e-02)
constraint (1.15e-02)
info (3.52e-03)
2 (2.36e-03)
twist (1.76e-03)
inertia (1.50e-03)
inv (1.32e-03)
world (9.29e-04)
trans (7.77e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
angleangle (9.91e-01)
info (3.91e-03)
%END% (2.45e-03)
calc (2.33e-03)
trans (1.41e-05)
rad (1.37e-05)
2 (1.07e-05)
evaluate (7.30e-06)
bt (4.77e-06)
%UNK% (4.29e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
infoinfo (9.46e-01)
2 (4.24e-02)
angle (9.96e-03)
%END% (1.14e-03)
inertia (2.50e-05)
world (2.35e-05)
trans (1.85e-05)
calc (1.79e-05)
a (1.04e-05)
b (8.27e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
22 (8.34e-01)
%END% (1.04e-01)
info (5.82e-02)
trans (3.19e-04)
world (2.04e-04)
inertia (1.75e-04)
angle (1.24e-04)
%UNK% (7.23e-05)
b (6.92e-05)
inv (5.48e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
%END%%END% (9.12e-01)
2 (7.39e-02)
trans (2.20e-03)
info (6.74e-04)
%UNK% (6.28e-04)
bt (3.14e-04)
create (2.77e-04)
convex (2.42e-04)
from (2.13e-04)
transform (2.13e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
calc
angle
info
2
(
swig
c
ptr
,
this
,
trans
a
,
trans
b
,
inv
inertia
world
a
,
inv
inertia
world
b
)
;
}
<SENTENCE_END/>
get,swing,span,1getget (9.65e-01)
swing (2.57e-02)
span (3.50e-03)
constraint (2.46e-03)
1 (9.24e-04)
twist (5.21e-04)
swig (1.92e-04)
return (1.62e-04)
dynamics (1.45e-04)
c (1.40e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
swingswing (9.94e-01)
span (4.08e-03)
get (1.59e-03)
%END% (3.89e-05)
%START% (8.31e-06)
default (6.85e-06)
declared (5.01e-06)
is (4.01e-06)
twist (1.46e-06)
as (1.44e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
spanspan (9.89e-01)
1 (7.22e-03)
swing (3.30e-03)
%END% (2.03e-04)
get (7.89e-06)
twist (2.71e-06)
cone (2.44e-06)
bt (2.09e-06)
jni (1.90e-06)
this (1.72e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
11 (7.84e-01)
span (1.89e-01)
%END% (2.56e-02)
get (2.03e-04)
swing (6.62e-05)
bt (2.36e-05)
%UNK% (1.76e-05)
c (1.63e-05)
swig (1.48e-05)
ptr (1.38e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.15e-01)
1 (7.11e-02)
get (2.79e-03)
span (1.29e-03)
%UNK% (6.27e-04)
bt (5.44e-04)
c (3.00e-04)
2 (2.42e-04)
double (2.27e-04)
set (2.04e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
1
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,swing,span,2getget (9.71e-01)
swing (1.97e-02)
span (3.10e-03)
constraint (2.13e-03)
2 (9.87e-04)
twist (5.27e-04)
swig (2.09e-04)
return (1.84e-04)
dynamics (1.64e-04)
c (1.53e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
swingswing (9.96e-01)
span (2.84e-03)
get (1.51e-03)
%END% (3.39e-05)
%START% (6.28e-06)
default (5.47e-06)
declared (4.43e-06)
is (3.43e-06)
twist (1.50e-06)
c (1.36e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
spanspan (9.91e-01)
2 (4.92e-03)
swing (3.60e-03)
%END% (1.99e-04)
get (7.42e-06)
twist (2.44e-06)
cone (2.25e-06)
c (1.90e-06)
bt (1.90e-06)
jni (1.75e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
22 (7.44e-01)
span (2.23e-01)
%END% (3.19e-02)
get (2.26e-04)
swing (7.26e-05)
bt (2.56e-05)
c (2.00e-05)
%UNK% (1.94e-05)
ptr (1.60e-05)
swig (1.55e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.20e-01)
2 (6.73e-02)
get (2.66e-03)
span (1.39e-03)
%UNK% (5.65e-04)
bt (4.67e-04)
c (2.97e-04)
double (2.05e-04)
set (1.89e-04)
ptr (1.58e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
swing
span
2
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,twist,spangetget (9.77e-01)
twist (1.43e-02)
constraint (4.45e-03)
span (2.37e-03)
cone (2.42e-04)
swig (1.49e-04)
c (1.46e-04)
return (1.35e-04)
dynamics (1.31e-04)
bt (9.84e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
twisttwist (9.96e-01)
get (1.77e-03)
span (1.37e-03)
%END% (4.46e-04)
double (1.38e-05)
%START% (5.77e-06)
c (5.52e-06)
instance (5.29e-06)
constraint (4.15e-06)
declared (3.81e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
spanspan (9.94e-01)
twist (5.17e-03)
%END% (9.08e-04)
constraint (1.20e-05)
get (6.93e-06)
cone (2.50e-06)
c (2.33e-06)
ptr (2.31e-06)
jni (1.94e-06)
bt (1.93e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.48e-01)
span (4.40e-02)
bt (2.46e-04)
double (1.49e-04)
rad (1.48e-04)
twist (1.39e-04)
%UNK% (1.21e-04)
get (1.19e-04)
constraint (9.05e-05)
endian (8.91e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
span
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,twist,anglegetget (9.76e-01)
twist (1.27e-02)
constraint (7.51e-03)
angle (1.47e-03)
cone (3.63e-04)
return (1.61e-04)
swig (1.59e-04)
dynamics (1.59e-04)
c (1.56e-04)
bt (1.44e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
twisttwist (9.97e-01)
get (2.15e-03)
angle (1.02e-03)
%END% (2.38e-04)
constraint (5.92e-06)
cone (4.47e-06)
tint (2.68e-06)
double (2.44e-06)
c (2.23e-06)
instance (1.99e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
angleangle (9.89e-01)
twist (9.25e-03)
%END% (1.58e-03)
constraint (2.55e-05)
get (1.27e-05)
cone (4.12e-06)
ptr (3.41e-06)
dynamics (3.03e-06)
c (2.89e-06)
jni (2.74e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.53e-01)
angle (4.09e-02)
twist (2.76e-04)
bt (1.80e-04)
rad (1.49e-04)
constraint (1.23e-04)
double (8.03e-05)
%UNK% (7.57e-05)
get (7.30e-05)
endian (6.73e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
twist
angle
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
is,past,swing,limitisis (9.60e-01)
past (1.85e-02)
swing (8.35e-03)
get (6.71e-03)
limit (1.83e-03)
constraint (1.68e-03)
twist (5.31e-04)
cone (1.53e-04)
return (1.40e-04)
dynamics (1.29e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
pastpast (7.14e-01)
swing (2.83e-01)
get (1.40e-03)
%END% (9.37e-04)
%UNK% (3.28e-04)
is (2.98e-04)
limit (7.42e-05)
default (4.05e-05)
declared (2.89e-05)
c (2.03e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
swingswing (6.27e-01)
limit (3.72e-01)
%END% (8.09e-04)
past (2.98e-04)
twist (3.56e-06)
cone (2.98e-06)
is (2.56e-06)
jni (2.49e-06)
bt (2.01e-06)
ptr (1.95e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
limitlimit (6.99e-01)
%END% (2.86e-01)
swing (1.01e-02)
%UNK% (3.47e-04)
get (2.01e-04)
bt (1.72e-04)
c (9.79e-05)
2 (7.73e-05)
endian (5.83e-05)
valid (5.14e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.13e-01)
limit (7.60e-02)
%UNK% (9.75e-04)
swing (6.03e-04)
get (5.69e-04)
bt (4.82e-04)
c (2.82e-04)
2 (2.46e-04)
endian (1.77e-04)
valid (1.60e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
is
past
swing
limit
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
set,dampingsetset (9.86e-01)
damping (5.12e-03)
constraint (3.37e-03)
twist (1.48e-03)
cone (3.96e-04)
dynamics (3.48e-04)
jni (3.28e-04)
this (3.13e-04)
c (2.70e-04)
ptr (2.31e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
damping
(
swig
c
ptr
,
this
,
damping
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
damping
(
swig
c
ptr
,
this
,
damping
)
;
}
<SENTENCE_END/>
dampingdamping (9.90e-01)
%END% (3.11e-03)
set (2.60e-03)
twist (1.24e-03)
get (9.88e-04)
cone (2.67e-04)
ratio (1.03e-04)
joint (5.87e-05)
spring (5.64e-05)
bt (3.94e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
damping
(
swig
c
ptr
,
this
,
damping
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
damping
(
swig
c
ptr
,
this
,
damping
)
;
}
<SENTENCE_END/>
%END%%END% (8.29e-01)
twist (8.53e-02)
constraint (1.93e-02)
damping (1.26e-02)
cone (4.98e-03)
bt (1.57e-03)
ptr (1.36e-03)
dynamics (1.32e-03)
jni (1.26e-03)
set (9.17e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
damping
(
swig
c
ptr
,
this
,
damping
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
damping
(
swig
c
ptr
,
this
,
damping
)
;
}
<SENTENCE_END/>
enable,motorenableenable (9.34e-01)
constraint (2.85e-02)
motor (2.50e-02)
twist (8.16e-03)
cone (1.09e-03)
bt (2.46e-04)
this (2.34e-04)
jni (1.67e-04)
dynamics (1.57e-04)
b (1.54e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
enable
motor
(
swig
c
ptr
,
this
,
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
enable
motor
(
swig
c
ptr
,
this
,
b
)
;
}
<SENTENCE_END/>
motormotor (9.68e-01)
enable (2.32e-02)
%END% (7.11e-03)
set (1.75e-04)
twist (1.46e-04)
constraint (1.41e-04)
get (7.49e-05)
joint (6.13e-05)
c (4.47e-05)
speed (3.73e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
enable
motor
(
swig
c
ptr
,
this
,
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
enable
motor
(
swig
c
ptr
,
this
,
b
)
;
}
<SENTENCE_END/>
%END%%END% (9.33e-01)
motor (6.04e-02)
enable (8.38e-04)
bt (2.25e-04)
%UNK% (1.45e-04)
rad (1.06e-04)
endian (8.64e-05)
2 (7.93e-05)
constraint (6.20e-05)
from (5.32e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
enable
motor
(
swig
c
ptr
,
this
,
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
enable
motor
(
swig
c
ptr
,
this
,
b
)
;
}
<SENTENCE_END/>
set,max,motor,impulsesetset (9.76e-01)
max (1.30e-02)
motor (3.32e-03)
constraint (3.23e-03)
impulse (1.28e-03)
twist (7.35e-04)
cone (1.82e-04)
dynamics (1.53e-04)
swig (1.49e-04)
c (1.33e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
maxmax (9.91e-01)
motor (8.09e-03)
set (9.16e-04)
%END% (1.72e-04)
get (3.47e-05)
joint (2.11e-05)
torque (1.06e-05)
force (7.24e-06)
twist (6.89e-06)
corner (6.53e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
motormotor (9.84e-01)
impulse (1.19e-02)
max (3.64e-03)
%END% (2.40e-04)
set (1.41e-05)
twist (1.02e-05)
constraint (7.29e-06)
cone (6.07e-06)
bt (3.81e-06)
jni (2.16e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
impulseimpulse (8.81e-01)
motor (8.41e-02)
%END% (3.22e-02)
set (4.30e-04)
max (1.18e-04)
constraint (5.92e-05)
twist (3.21e-05)
bt (3.19e-05)
get (2.95e-05)
%UNK% (2.82e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
%END%%END% (8.61e-01)
impulse (1.10e-01)
set (9.13e-03)
motor (1.30e-03)
max (1.01e-03)
%UNK% (7.42e-04)
get (6.55e-04)
bt (4.82e-04)
c (4.56e-04)
2 (3.79e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
set,max,motor,impulse,normalizedsetset (9.70e-01)
max (1.50e-02)
motor (4.36e-03)
constraint (3.07e-03)
impulse (2.45e-03)
normalized (1.99e-03)
twist (6.91e-04)
dynamics (1.70e-04)
cone (1.68e-04)
c (1.42e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
maxmax (9.40e-01)
motor (5.78e-02)
set (1.13e-03)
%END% (3.37e-04)
get (6.64e-05)
joint (6.11e-05)
impulse (2.65e-05)
torque (2.50e-05)
force (1.49e-05)
damping (1.41e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
motormotor (8.45e-01)
impulse (1.52e-01)
max (2.15e-03)
%END% (3.50e-04)
normalized (2.92e-04)
twist (2.37e-05)
set (1.96e-05)
cone (1.49e-05)
constraint (1.25e-05)
bt (8.31e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
impulseimpulse (8.67e-01)
normalized (1.03e-01)
motor (1.50e-02)
%END% (1.28e-02)
set (3.60e-04)
constraint (1.75e-04)
max (1.63e-04)
twist (1.54e-04)
cone (6.67e-05)
bt (4.77e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
normalized%END% (6.47e-01)
normalized (2.52e-01)
impulse (5.39e-02)
set (1.62e-02)
max (2.08e-03)
motor (1.38e-03)
get (1.04e-03)
%UNK% (8.12e-04)
c (7.64e-04)
joint (7.32e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
%END%%END% (6.53e-01)
normalized (2.48e-01)
impulse (5.21e-02)
set (1.65e-02)
max (2.10e-03)
motor (1.39e-03)
get (1.06e-03)
%UNK% (8.21e-04)
c (7.72e-04)
joint (7.45e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
max
motor
impulse
normalized
(
swig
c
ptr
,
this
,
max
motor
impulse
)
;
}
<SENTENCE_END/>
get,fix,threshgetget (9.76e-01)
fix (1.03e-02)
constraint (5.33e-03)
thresh (2.53e-03)
twist (1.63e-03)
cone (4.33e-04)
return (3.62e-04)
dynamics (3.50e-04)
c (2.23e-04)
jni (2.23e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
fixfix (9.84e-01)
thresh (1.31e-02)
%UNK% (2.14e-03)
%END% (2.79e-04)
get (1.27e-04)
twist (7.29e-06)
c (4.21e-06)
match (4.04e-06)
bt (4.02e-06)
set (4.00e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
threshthresh (9.84e-01)
%END% (1.40e-02)
fix (1.44e-03)
twist (3.73e-05)
constraint (3.34e-05)
%UNK% (2.57e-05)
jni (1.38e-05)
cone (1.25e-05)
ptr (1.20e-05)
c (1.20e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.66e-01)
thresh (2.99e-02)
%UNK% (3.52e-04)
bt (2.03e-04)
rad (1.48e-04)
endian (1.15e-04)
2 (1.11e-04)
c (5.88e-05)
double (5.61e-05)
float (3.85e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
fix
thresh
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
set,fix,threshsetset (9.68e-01)
fix (1.44e-02)
constraint (8.96e-03)
thresh (3.03e-03)
twist (2.24e-03)
cone (4.57e-04)
dynamics (2.77e-04)
c (2.41e-04)
jni (1.97e-04)
ptr (1.66e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
fixfix (9.79e-01)
thresh (1.64e-02)
%UNK% (3.72e-03)
set (2.37e-04)
%END% (9.12e-05)
twist (3.15e-05)
cone (8.94e-06)
constraint (5.05e-06)
bt (3.90e-06)
destroy (2.57e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
threshthresh (9.82e-01)
%END% (1.52e-02)
fix (1.20e-03)
%UNK% (3.03e-04)
constraint (5.82e-05)
twist (4.98e-05)
cone (1.77e-05)
bt (1.69e-05)
set (1.60e-05)
jni (1.20e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
%END%%END% (9.49e-01)
thresh (3.88e-02)
%UNK% (3.93e-03)
bt (3.58e-04)
rad (2.42e-04)
set (2.32e-04)
2 (1.66e-04)
aligned (1.64e-04)
endian (1.40e-04)
from (1.17e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
fix
thresh
(
swig
c
ptr
,
this
,
fix
thresh
)
;
}
<SENTENCE_END/>
set,motor,targetsetset (9.76e-01)
motor (1.23e-02)
constraint (5.61e-03)
target (2.38e-03)
twist (1.28e-03)
cone (2.67e-04)
dynamics (1.62e-04)
q (1.37e-04)
c (1.35e-04)
jni (1.28e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
motormotor (9.88e-01)
target (8.31e-03)
%END% (1.95e-03)
set (9.79e-04)
get (4.68e-05)
twist (4.01e-05)
cone (1.44e-05)
c (9.93e-06)
damping (9.04e-06)
speed (8.91e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
targettarget (9.95e-01)
%END% (2.71e-03)
motor (1.63e-03)
constraint (3.35e-05)
twist (3.16e-05)
cone (9.28e-06)
set (5.69e-06)
bt (4.25e-06)
jni (3.65e-06)
q (3.51e-06)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
%END%%END% (9.51e-01)
target (4.07e-02)
rad (1.68e-04)
set (1.45e-04)
bt (1.45e-04)
constraint (1.12e-04)
%UNK% (1.08e-04)
2 (8.06e-05)
from (6.51e-05)
swig (5.03e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
set,motor,target,in,constraint,spacesetset (9.67e-01)
motor (1.55e-02)
constraint (6.32e-03)
space (2.78e-03)
target (2.67e-03)
twist (1.24e-03)
in (1.10e-03)
cone (2.76e-04)
dynamics (2.19e-04)
q (2.07e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
motormotor (9.39e-01)
target (5.51e-02)
%END% (4.07e-03)
set (7.32e-04)
get (7.61e-05)
twist (3.16e-05)
update (2.82e-05)
relative (2.70e-05)
%UNK% (2.27e-05)
cone (2.00e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
targettarget (8.94e-01)
in (1.03e-01)
motor (1.40e-03)
%END% (7.24e-04)
constraint (3.48e-04)
twist (5.54e-05)
cone (3.08e-05)
space (2.07e-05)
bt (1.35e-05)
ptr (1.09e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
inconstraint (3.65e-01)
in (2.69e-01)
%END% (1.57e-01)
space (1.48e-01)
target (1.62e-02)
twist (1.03e-02)
this (2.59e-03)
ptr (1.97e-03)
cone (1.77e-03)
q (1.74e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
constraint%END% (6.90e-01)
space (1.74e-01)
constraint (9.05e-02)
in (7.85e-03)
twist (7.29e-03)
this (1.39e-03)
swig (1.07e-03)
c (9.94e-04)
ptr (9.58e-04)
cone (8.54e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
space%END% (7.00e-01)
space (1.73e-01)
constraint (8.23e-02)
twist (7.34e-03)
in (6.21e-03)
this (1.36e-03)
swig (1.07e-03)
c (9.90e-04)
ptr (9.36e-04)
cone (8.24e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
%END%%END% (7.02e-01)
space (1.74e-01)
constraint (8.12e-02)
twist (7.40e-03)
in (5.92e-03)
this (1.36e-03)
swig (1.07e-03)
c (9.86e-04)
ptr (9.30e-04)
cone (8.19e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
motor
target
in
constraint
space
(
swig
c
ptr
,
this
,
q
)
;
}
<SENTENCE_END/>
get,point,for,anglegetget (9.71e-01)
point (1.19e-02)
constraint (4.94e-03)
for (3.00e-03)
angle (2.28e-03)
twist (1.33e-03)
f (4.30e-04)
cone (3.21e-04)
dynamics (3.14e-04)
return (3.13e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
pointpoint (9.93e-01)
for (3.26e-03)
get (2.27e-03)
%END% (9.30e-04)
initialize (3.87e-05)
distance (2.53e-05)
%UNK% (1.94e-05)
set (1.42e-05)
frustum (1.21e-05)
match (1.17e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
forfor (9.75e-01)
angle (1.26e-02)
point (1.14e-02)
%END% (4.11e-04)
get (2.29e-05)
twist (1.39e-05)
cone (8.91e-06)
constraint (6.34e-06)
bt (5.99e-06)
jni (5.67e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
angleangle (8.86e-01)
for (5.93e-02)
%END% (4.77e-02)
get (3.93e-04)
%UNK% (2.98e-04)
bt (1.85e-04)
rad (1.40e-04)
point (1.25e-04)
2 (1.12e-04)
from (8.90e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
%END%%END% (8.19e-01)
angle (1.17e-01)
get (6.00e-03)
%UNK% (5.99e-03)
bt (2.72e-03)
rad (2.35e-03)
2 (2.02e-03)
from (1.70e-03)
set (1.31e-03)
convex (1.16e-03)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
point
for
angle
(
swig
c
ptr
,
this
,
f
angle
in
radians
,
f
length
)
;
}
<SENTENCE_END/>
set,paramsetset (9.80e-01)
param (5.96e-03)
constraint (5.66e-03)
twist (2.13e-03)
cone (4.85e-04)
swig (4.69e-04)
jni (4.04e-04)
num (3.97e-04)
0 (3.64e-04)
dynamics (3.44e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
0
(
swig
c
ptr
,
this
,
num
,
value
,
axis
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
0
(
swig
c
ptr
,
this
,
num
,
value
,
axis
)
;
}
<SENTENCE_END/>
paramparam (9.51e-01)
%END% (3.27e-02)
twist (7.49e-03)
set (1.92e-03)
(9.96e-04)
get (6.37e-04)
cone (4.79e-04)
swig (3.36e-04)
constraint (2.58e-04)
bt (1.20e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
0
(
swig
c
ptr
,
this
,
num
,
value
,
axis
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
0
(
swig
c
ptr
,
this
,
num
,
value
,
axis
)
;
}
<SENTENCE_END/>
%END%%END% (9.32e-01)
twist (2.03e-02)
constraint (1.37e-02)
0 (2.76e-03)
param (2.59e-03)
swig (1.91e-03)
cone (1.90e-03)
axis (1.77e-03)
num (1.51e-03)
set (1.27e-03)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
0
(
swig
c
ptr
,
this
,
num
,
value
,
axis
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
0
(
swig
c
ptr
,
this
,
num
,
value
,
axis
)
;
}
<SENTENCE_END/>
set,paramsetset (9.78e-01)
param (7.16e-03)
constraint (6.70e-03)
twist (2.24e-03)
cone (4.80e-04)
num (4.61e-04)
swig (4.03e-04)
jni (3.86e-04)
dynamics (3.36e-04)
1 (3.07e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
1
(
swig
c
ptr
,
this
,
num
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
1
(
swig
c
ptr
,
this
,
num
,
value
)
;
}
<SENTENCE_END/>
paramparam (9.68e-01)
%END% (2.05e-02)
twist (4.64e-03)
set (1.22e-03)
(7.65e-04)
swig (4.91e-04)
cone (3.24e-04)
get (3.23e-04)
constraint (1.34e-04)
num (1.28e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
1
(
swig
c
ptr
,
this
,
num
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
1
(
swig
c
ptr
,
this
,
num
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (9.15e-01)
twist (3.03e-02)
constraint (1.75e-02)
1 (3.66e-03)
param (3.51e-03)
cone (2.66e-03)
swig (2.63e-03)
num (2.58e-03)
set (9.93e-04)
value (9.34e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
1
(
swig
c
ptr
,
this
,
num
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
param
swig
1
(
swig
c
ptr
,
this
,
num
,
value
)
;
}
<SENTENCE_END/>
set,framessetset (9.70e-01)
frames (1.46e-02)
constraint (7.55e-03)
twist (1.67e-03)
frame (1.14e-03)
this (4.17e-04)
a (4.02e-04)
dynamics (3.41e-04)
jni (3.01e-04)
cone (2.90e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
frames
(
swig
c
ptr
,
this
,
frame
a
,
frame
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
frames
(
swig
c
ptr
,
this
,
frame
a
,
frame
b
)
;
}
<SENTENCE_END/>
framesframes (9.92e-01)
%END% (3.07e-03)
get (1.51e-03)
update (7.00e-04)
set (4.34e-04)
render (2.92e-04)
%UNK% (1.05e-04)
instance (7.84e-05)
twist (7.19e-05)
create (4.32e-05)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
frames
(
swig
c
ptr
,
this
,
frame
a
,
frame
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
frames
(
swig
c
ptr
,
this
,
frame
a
,
frame
b
)
;
}
<SENTENCE_END/>
%END%%END% (9.69e-01)
twist (3.40e-03)
frames (3.18e-03)
a (1.64e-03)
frame (1.52e-03)
constraint (1.08e-03)
b (8.98e-04)
dynamics (6.53e-04)
bt (6.08e-04)
jni (5.93e-04)
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
frames
(
swig
c
ptr
,
this
,
frame
a
,
frame
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
dynamics
jni
.
bt
cone
twist
constraint
set
frames
(
swig
c
ptr
,
this
,
frame
a
,
frame
b
)
;
}
<SENTENCE_END/>
get,frame,offset,agetget (9.80e-01)
constraint (6.52e-03)
frame (6.44e-03)
twist (1.96e-03)
offset (1.38e-03)
a (9.06e-04)
cone (3.74e-04)
return (2.61e-04)
dynamics (2.38e-04)
swig (1.92e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
frameframe (9.96e-01)
get (1.80e-03)
%END% (1.43e-03)
offset (8.93e-04)
twist (9.76e-06)
swig (4.58e-06)
cone (4.43e-06)
constraint (2.99e-06)
instance (2.85e-06)
dynamics (2.30e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
offsetoffset (9.85e-01)
frame (9.40e-03)
a (5.70e-03)
%END% (2.87e-04)
get (1.64e-05)
twist (1.33e-05)
constraint (7.01e-06)
cone (6.28e-06)
bt (2.91e-06)
jni (2.88e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
aa (8.76e-01)
%END% (7.17e-02)
offset (4.99e-02)
constraint (2.49e-04)
twist (1.13e-04)
frame (4.64e-05)
get (3.86e-05)
cone (3.35e-05)
jni (2.76e-05)
bt (2.67e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (7.47e-01)
a (2.43e-01)
offset (2.66e-03)
constraint (4.05e-04)
twist (1.54e-04)
bt (1.34e-04)
get (1.06e-04)
%UNK% (8.14e-05)
swig (7.87e-05)
double (7.66e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
a
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,frame,offset,bgetget (9.81e-01)
frame (6.10e-03)
constraint (5.22e-03)
twist (1.78e-03)
offset (1.54e-03)
b (1.08e-03)
cone (3.75e-04)
return (2.58e-04)
dynamics (2.41e-04)
swig (1.85e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
frameframe (9.96e-01)
get (1.72e-03)
%END% (1.20e-03)
offset (8.68e-04)
twist (8.94e-06)
swig (4.53e-06)
cone (3.86e-06)
instance (2.98e-06)
constraint (2.67e-06)
dynamics (2.05e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
offsetoffset (9.85e-01)
frame (9.72e-03)
b (4.98e-03)
%END% (2.88e-04)
get (1.53e-05)
twist (1.30e-05)
constraint (6.51e-06)
cone (5.50e-06)
jni (2.64e-06)
bt (2.53e-06)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
bb (8.31e-01)
%END% (9.96e-02)
offset (6.70e-02)
constraint (1.99e-04)
twist (9.69e-05)
frame (5.44e-05)
get (3.81e-05)
cone (2.85e-05)
bt (2.71e-05)
jni (2.58e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (8.03e-01)
b (1.89e-01)
offset (3.12e-03)
constraint (2.50e-04)
bt (1.20e-04)
twist (1.01e-04)
get (9.72e-05)
%UNK% (8.03e-05)
swig (7.50e-05)
double (7.29e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
frame
offset
b
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,paramgetget (9.74e-01)
param (8.77e-03)
constraint (7.71e-03)
twist (2.62e-03)
num (6.34e-04)
cone (5.29e-04)
0 (5.17e-04)
swig (5.16e-04)
dynamics (3.80e-04)
jni (3.66e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
0
(
swig
c
ptr
,
this
,
num
,
axis
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
0
(
swig
c
ptr
,
this
,
num
,
axis
)
;
}
<SENTENCE_END/>
paramparam (9.79e-01)
%END% (1.20e-02)
get (4.28e-03)
twist (1.18e-03)
set (4.88e-04)
(3.00e-04)
swig (2.93e-04)
cone (1.05e-04)
num (8.41e-05)
bt (7.37e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
0
(
swig
c
ptr
,
this
,
num
,
axis
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
0
(
swig
c
ptr
,
this
,
num
,
axis
)
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
twist (7.40e-03)
param (4.58e-03)
constraint (3.22e-03)
axis (2.86e-03)
swig (2.52e-03)
0 (2.04e-03)
get (2.04e-03)
num (1.20e-03)
bt (1.05e-03)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
0
(
swig
c
ptr
,
this
,
num
,
axis
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
0
(
swig
c
ptr
,
this
,
num
,
axis
)
;
}
<SENTENCE_END/>
get,paramgetget (9.74e-01)
param (9.60e-03)
constraint (8.57e-03)
twist (2.64e-03)
cone (4.90e-04)
swig (3.92e-04)
1 (3.79e-04)
dynamics (3.31e-04)
jni (3.09e-04)
return (2.44e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
1
(
swig
c
ptr
,
this
,
num
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
1
(
swig
c
ptr
,
this
,
num
)
;
}
<SENTENCE_END/>
paramparam (9.87e-01)
%END% (8.30e-03)
get (1.87e-03)
twist (6.06e-04)
swig (3.19e-04)
set (2.25e-04)
(9.32e-05)
num (5.77e-05)
cone (5.15e-05)
bt (2.84e-05)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
1
(
swig
c
ptr
,
this
,
num
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
1
(
swig
c
ptr
,
this
,
num
)
;
}
<SENTENCE_END/>
%END%%END% (9.40e-01)
twist (9.19e-03)
param (7.26e-03)
constraint (3.98e-03)
swig (3.96e-03)
1 (2.65e-03)
num (1.89e-03)
get (1.77e-03)
bt (9.18e-04)
set (8.45e-04)
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
1
(
swig
c
ptr
,
this
,
num
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
dynamics
jni
.
bt
cone
twist
constraint
get
param
swig
1
(
swig
c
ptr
,
this
,
num
)
;
}
<SENTENCE_END/>
beginbeginset (7.30e-01)
color (1.00e-01)
reset (5.18e-02)
draw (4.67e-02)
get (1.02e-02)
begin (8.97e-03)
show (7.58e-03)
end (5.90e-03)
start (4.56e-03)
update (2.82e-03)
<SENTENCE_START>
{
if
(
color
==
null
)
color
=
target
.
get
color
(
)
;
start
=
color
.
a
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
color
==
null
)
color
=
target
.
get
color
(
)
;
start
=
color
.
a
;
}
<SENTENCE_END/>
%END%color (4.85e-01)
%END% (3.50e-01)
%UNK% (1.42e-02)
draw (1.20e-02)
set (7.55e-03)
target (5.18e-03)
update (4.85e-03)
reset (3.91e-03)
line (3.34e-03)
end (3.34e-03)
<SENTENCE_START>
{
if
(
color
==
null
)
color
=
target
.
get
color
(
)
;
start
=
color
.
a
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
color
==
null
)
color
=
target
.
get
color
(
)
;
start
=
color
.
a
;
}
<SENTENCE_END/>
updateupdatestart (3.06e-01)
end (2.11e-01)
reset (2.03e-01)
set (1.04e-01)
%UNK% (1.96e-02)
update (1.57e-02)
begin (1.32e-02)
draw (1.22e-02)
render (1.03e-02)
color (8.84e-03)
<SENTENCE_START>
{
color
.
a
=
start
+
(
end
-
start
)
*
percent
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
color
.
a
=
start
+
(
end
-
start
)
*
percent
;
}
<SENTENCE_END/>
%END%%END% (6.72e-01)
%UNK% (4.43e-02)
start (2.51e-02)
color (2.05e-02)
end (1.22e-02)
update (9.41e-03)
side (8.56e-03)
segment (8.48e-03)
percent (8.19e-03)
dragged (7.74e-03)
<SENTENCE_START>
{
color
.
a
=
start
+
(
end
-
start
)
*
percent
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
color
.
a
=
start
+
(
end
-
start
)
*
percent
;
}
<SENTENCE_END/>
resetresetset (3.11e-01)
render (1.59e-01)
begin (9.14e-02)
draw (5.25e-02)
clear (4.31e-02)
end (4.25e-02)
load (3.69e-02)
free (1.99e-02)
bind (1.96e-02)
flush (1.86e-02)
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
color
=
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
color
=
null
;
}
<SENTENCE_END/>
%END%%END% (8.51e-01)
color (6.26e-02)
render (5.61e-03)
%UNK% (3.52e-03)
debug (3.44e-03)
animation (2.07e-03)
layout (2.02e-03)
pause (1.80e-03)
all (1.67e-03)
begin (1.56e-03)
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
color
=
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
color
=
null
;
}
<SENTENCE_END/>
get,colorgetget (9.75e-01)
is (1.60e-02)
color (2.99e-03)
return (1.22e-03)
append (1.14e-03)
protected (3.06e-04)
needs (1.99e-04)
iterator (1.49e-04)
owns (1.32e-04)
duration (1.22e-04)
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
colorcolor (9.98e-01)
return (1.73e-03)
draw (2.83e-05)
line (1.31e-05)
rectangle (8.84e-06)
%END% (7.28e-06)
rect (4.28e-06)
percent (3.43e-06)
depth (3.27e-06)
circle (2.93e-06)
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
%END%%END% (9.18e-01)
color (1.52e-02)
value (9.61e-03)
only (2.45e-03)
buffer (2.35e-03)
offset (1.75e-03)
height (1.70e-03)
width (1.51e-03)
array (1.40e-03)
20 (1.40e-03)
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
color
;
}
<SENTENCE_END/>
set,colorsetset (9.88e-01)
color (6.48e-03)
reset (1.05e-03)
this (4.32e-04)
begin (2.01e-05)
draw (1.87e-05)
clear (1.28e-05)
fill (5.18e-06)
= (4.95e-06)
translate (4.72e-06)
<SENTENCE_START>
{
this
.
color
=
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
color
=
color
;
}
<SENTENCE_END/>
colorcolor (9.99e-01)
draw (4.18e-05)
%END% (3.89e-05)
set (1.56e-05)
circle (6.26e-06)
line (5.66e-06)
rectangle (3.35e-06)
begin (2.43e-06)
fill (2.16e-06)
depth (1.92e-06)
<SENTENCE_START>
{
this
.
color
=
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
color
=
color
;
}
<SENTENCE_END/>
%END%%END% (9.82e-01)
color (7.56e-03)
value (5.89e-04)
height (3.52e-04)
width (2.95e-04)
2 (2.95e-04)
%UNK% (2.37e-04)
layout (2.02e-04)
data (1.91e-04)
only (1.75e-04)
<SENTENCE_START>
{
this
.
color
=
color
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
color
=
color
;
}
<SENTENCE_END/>
get,alphagetget (9.45e-01)
is (3.53e-02)
end (1.18e-02)
owns (6.71e-04)
return (6.70e-04)
needs (3.98e-04)
available (2.99e-04)
iterator (2.92e-04)
protected (2.62e-04)
state (2.21e-04)
<SENTENCE_START>
{
return
end
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
end
;
}
<SENTENCE_END/>
alphaend (9.89e-01)
begin (5.25e-03)
render (1.18e-03)
return (1.07e-03)
reset (7.36e-04)
flush (6.84e-04)
start (1.24e-04)
set (9.17e-05)
frame (4.73e-05)
%END% (4.48e-05)
<SENTENCE_START>
{
return
end
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
end
;
}
<SENTENCE_END/>
%END%%END% (9.28e-01)
value (5.58e-03)
20 (4.83e-03)
end (4.37e-03)
buffer (1.69e-03)
count (1.64e-03)
only (1.63e-03)
%UNK% (1.44e-03)
height (1.22e-03)
array (1.20e-03)
<SENTENCE_START>
{
return
end
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
end
;
}
<SENTENCE_END/>
set,alphasetset (9.80e-01)
reset (1.18e-02)
end (2.53e-03)
this (5.04e-04)
alpha (3.73e-04)
translate (2.17e-04)
clear (2.16e-04)
begin (1.69e-04)
loop (1.47e-04)
apply (1.08e-04)
<SENTENCE_START>
{
this
.
end
=
alpha
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
end
=
alpha
;
}
<SENTENCE_END/>
alphaend (4.72e-01)
%END% (1.70e-01)
reset (1.29e-01)
set (7.89e-02)
begin (2.43e-02)
loop (1.24e-02)
alpha (1.12e-02)
render (7.11e-03)
draw (4.84e-03)
flush (3.87e-03)
<SENTENCE_START>
{
this
.
end
=
alpha
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
end
=
alpha
;
}
<SENTENCE_END/>
%END%%END% (9.77e-01)
alpha (3.35e-03)
end (1.97e-03)
height (5.60e-04)
%UNK% (5.00e-04)
20 (4.13e-04)
display (3.81e-04)
value (3.80e-04)
layout (3.74e-04)
2 (3.52e-04)
<SENTENCE_START>
{
this
.
end
=
alpha
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
end
=
alpha
;
}
<SENTENCE_END/>
invalidateinvalidatepad (9.63e-01)
right (4.23e-03)
invalid (4.22e-03)
left (4.02e-03)
space (2.80e-03)
bottom (2.77e-03)
padding (2.71e-03)
binary (2.38e-03)
size (2.27e-03)
gallop (2.22e-03)
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
size
invalid
=
true
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
size
invalid
=
true
;
}
<SENTENCE_END/>
%END%%END% (3.61e-01)
top (6.32e-02)
bottom (5.49e-02)
right (5.29e-02)
left (4.54e-02)
pad (4.05e-02)
invalid (2.74e-02)
debug (1.45e-02)
align (1.24e-02)
value (1.07e-02)
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
size
invalid
=
true
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
super
.
%SELF%
(
)
;
size
invalid
=
true
;
}
<SENTENCE_END/>
compute,sizecomputecompute (2.21e-01)
set (1.61e-01)
size (9.12e-02)
add (6.30e-02)
clear (5.71e-02)
pack (4.57e-02)
get (3.46e-02)
pref (2.92e-02)
invalidate (1.77e-02)
pad (1.76e-02)
<SENTENCE_START>
{
size
invalid
=
false
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
int
n
=
children
.
size
;
pref
width
=
pad
left
+
pad
right
+
spacing
*
(
n
-
1
)
;
pref
height
=
0
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
if
(
child
instanceof
layout
)
{
layout
layout
=
(
layout
)
child
;
pref
width
+=
layout
.
get
pref
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
layout
.
get
pref
height
(
)
)
;
}
else
{
pref
width
+=
child
.
get
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
child
.
get
height
(
)
)
;
}
}
pref
height
+=
pad
top
+
pad
bottom
;
if
(
round
)
{
pref
width
=
math
.
round
(
pref
width
)
;
pref
height
=
math
.
round
(
pref
height
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
size
invalid
=
false
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
int
n
=
children
.
size
;
pref
width
=
pad
left
+
pad
right
+
spacing
*
(
n
-
1
)
;
pref
height
=
0
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
if
(
child
instanceof
layout
)
{
layout
layout
=
(
layout
)
child
;
pref
width
+=
layout
.
get
pref
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
layout
.
get
pref
height
(
)
)
;
}
else
{
pref
width
+=
child
.
get
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
child
.
get
height
(
)
)
;
}
}
pref
height
+=
pad
top
+
pad
bottom
;
if
(
round
)
{
pref
width
=
math
.
round
(
pref
width
)
;
pref
height
=
math
.
round
(
pref
height
)
;
}
}
<SENTENCE_END/>
size%END% (1.99e-01)
size (1.51e-01)
height (4.17e-02)
width (3.10e-02)
pref (2.58e-02)
clear (1.99e-02)
compute (1.95e-02)
max (1.72e-02)
pad (1.60e-02)
children (1.58e-02)
<SENTENCE_START>
{
size
invalid
=
false
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
int
n
=
children
.
size
;
pref
width
=
pad
left
+
pad
right
+
spacing
*
(
n
-
1
)
;
pref
height
=
0
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
if
(
child
instanceof
layout
)
{
layout
layout
=
(
layout
)
child
;
pref
width
+=
layout
.
get
pref
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
layout
.
get
pref
height
(
)
)
;
}
else
{
pref
width
+=
child
.
get
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
child
.
get
height
(
)
)
;
}
}
pref
height
+=
pad
top
+
pad
bottom
;
if
(
round
)
{
pref
width
=
math
.
round
(
pref
width
)
;
pref
height
=
math
.
round
(
pref
height
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
size
invalid
=
false
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
int
n
=
children
.
size
;
pref
width
=
pad
left
+
pad
right
+
spacing
*
(
n
-
1
)
;
pref
height
=
0
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
if
(
child
instanceof
layout
)
{
layout
layout
=
(
layout
)
child
;
pref
width
+=
layout
.
get
pref
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
layout
.
get
pref
height
(
)
)
;
}
else
{
pref
width
+=
child
.
get
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
child
.
get
height
(
)
)
;
}
}
pref
height
+=
pad
top
+
pad
bottom
;
if
(
round
)
{
pref
width
=
math
.
round
(
pref
width
)
;
pref
height
=
math
.
round
(
pref
height
)
;
}
}
<SENTENCE_END/>
%END%%END% (6.41e-01)
size (4.61e-02)
height (2.10e-02)
width (1.52e-02)
all (9.87e-03)
pref (9.29e-03)
layout (8.43e-03)
children (7.06e-03)
%UNK% (6.89e-03)
region (6.36e-03)
<SENTENCE_START>
{
size
invalid
=
false
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
int
n
=
children
.
size
;
pref
width
=
pad
left
+
pad
right
+
spacing
*
(
n
-
1
)
;
pref
height
=
0
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
if
(
child
instanceof
layout
)
{
layout
layout
=
(
layout
)
child
;
pref
width
+=
layout
.
get
pref
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
layout
.
get
pref
height
(
)
)
;
}
else
{
pref
width
+=
child
.
get
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
child
.
get
height
(
)
)
;
}
}
pref
height
+=
pad
top
+
pad
bottom
;
if
(
round
)
{
pref
width
=
math
.
round
(
pref
width
)
;
pref
height
=
math
.
round
(
pref
height
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
size
invalid
=
false
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
int
n
=
children
.
size
;
pref
width
=
pad
left
+
pad
right
+
spacing
*
(
n
-
1
)
;
pref
height
=
0
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
if
(
child
instanceof
layout
)
{
layout
layout
=
(
layout
)
child
;
pref
width
+=
layout
.
get
pref
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
layout
.
get
pref
height
(
)
)
;
}
else
{
pref
width
+=
child
.
get
width
(
)
;
pref
height
=
math
.
max
(
pref
height
,
child
.
get
height
(
)
)
;
}
}
pref
height
+=
pad
top
+
pad
bottom
;
if
(
round
)
{
pref
width
=
math
.
round
(
pref
width
)
;
pref
height
=
math
.
round
(
pref
height
)
;
}
}
<SENTENCE_END/>
layoutlayoutset (3.56e-01)
compute (4.49e-02)
add (3.65e-02)
draw (3.56e-02)
get (2.98e-02)
%UNK% (2.85e-02)
size (2.11e-02)
clear (2.07e-02)
%END% (2.01e-02)
invalidate (1.22e-02)
<SENTENCE_START>
{
float
spacing
=
this
.
spacing
,
pad
bottom
=
this
.
pad
bottom
;
int
align
=
this
.
align
;
boolean
reverse
=
this
.
reverse
,
round
=
this
.
round
;
float
group
height
=
get
height
(
)
-
pad
top
-
pad
bottom
;
float
x
=
!
reverse
?
pad
left
:
get
width
(
)
-
pad
right
+
spacing
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
for
(
int
i
=
0
,
n
=
children
.
size
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
float
width
,
height
;
layout
%SELF%
=
null
;
if
(
child
instanceof
layout
)
{
%SELF%
=
(
layout
)
child
;
if
(
fill
>
0
)
height
=
group
height
*
fill
;
else
height
=
math
.
min
(
%SELF%
.
get
pref
height
(
)
,
group
height
)
;
height
=
math
.
max
(
height
,
%SELF%
.
get
min
height
(
)
)
;
float
max
height
=
%SELF%
.
get
max
height
(
)
;
if
(
max
height
>
0
&&
height
>
max
height
)
height
=
max
height
;
width
=
%SELF%
.
get
pref
width
(
)
;
}
else
{
width
=
child
.
get
width
(
)
;
height
=
child
.
get
height
(
)
;
if
(
fill
>
0
)
height
*=
fill
;
}
float
y
=
pad
bottom
;
if
(
(
align
&
align
.
top
)
!=
0
)
y
+=
group
height
-
height
;
else
if
(
(
align
&
align
.
bottom
)
==
0
)
y
+=
(
group
height
-
height
)
/
2
;
if
(
reverse
)
x
-=
(
width
+
spacing
)
;
if
(
round
)
child
.
set
bounds
(
math
.
round
(
x
)
,
math
.
round
(
y
)
,
math
.
round
(
width
)
,
math
.
round
(
height
)
)
;
else
child
.
set
bounds
(
x
,
y
,
width
,
height
)
;
if
(
!
reverse
)
x
+=
(
width
+
spacing
)
;
if
(
%SELF%
!=
null
)
%SELF%
.
validate
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
float
spacing
=
this
.
spacing
,
pad
bottom
=
this
.
pad
bottom
;
int
align
=
this
.
align
;
boolean
reverse
=
this
.
reverse
,
round
=
this
.
round
;
float
group
height
=
get
height
(
)
-
pad
top
-
pad
bottom
;
float
x
=
!
reverse
?
pad
left
:
get
width
(
)
-
pad
right
+
spacing
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
for
(
int
i
=
0
,
n
=
children
.
size
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
float
width
,
height
;
layout
%SELF%
=
null
;
if
(
child
instanceof
layout
)
{
%SELF%
=
(
layout
)
child
;
if
(
fill
>
0
)
height
=
group
height
*
fill
;
else
height
=
math
.
min
(
%SELF%
.
get
pref
height
(
)
,
group
height
)
;
height
=
math
.
max
(
height
,
%SELF%
.
get
min
height
(
)
)
;
float
max
height
=
%SELF%
.
get
max
height
(
)
;
if
(
max
height
>
0
&&
height
>
max
height
)
height
=
max
height
;
width
=
%SELF%
.
get
pref
width
(
)
;
}
else
{
width
=
child
.
get
width
(
)
;
height
=
child
.
get
height
(
)
;
if
(
fill
>
0
)
height
*=
fill
;
}
float
y
=
pad
bottom
;
if
(
(
align
&
align
.
top
)
!=
0
)
y
+=
group
height
-
height
;
else
if
(
(
align
&
align
.
bottom
)
==
0
)
y
+=
(
group
height
-
height
)
/
2
;
if
(
reverse
)
x
-=
(
width
+
spacing
)
;
if
(
round
)
child
.
set
bounds
(
math
.
round
(
x
)
,
math
.
round
(
y
)
,
math
.
round
(
width
)
,
math
.
round
(
height
)
)
;
else
child
.
set
bounds
(
x
,
y
,
width
,
height
)
;
if
(
!
reverse
)
x
+=
(
width
+
spacing
)
;
if
(
%SELF%
!=
null
)
%SELF%
.
validate
(
)
;
}
}
<SENTENCE_END/>
%END%%END% (5.36e-01)
size (2.45e-02)
set (2.30e-02)
height (2.01e-02)
%UNK% (1.77e-02)
width (1.14e-02)
draw (8.94e-03)
region (8.85e-03)
get (8.73e-03)
bounds (7.13e-03)
<SENTENCE_START>
{
float
spacing
=
this
.
spacing
,
pad
bottom
=
this
.
pad
bottom
;
int
align
=
this
.
align
;
boolean
reverse
=
this
.
reverse
,
round
=
this
.
round
;
float
group
height
=
get
height
(
)
-
pad
top
-
pad
bottom
;
float
x
=
!
reverse
?
pad
left
:
get
width
(
)
-
pad
right
+
spacing
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
for
(
int
i
=
0
,
n
=
children
.
size
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
float
width
,
height
;
layout
%SELF%
=
null
;
if
(
child
instanceof
layout
)
{
%SELF%
=
(
layout
)
child
;
if
(
fill
>
0
)
height
=
group
height
*
fill
;
else
height
=
math
.
min
(
%SELF%
.
get
pref
height
(
)
,
group
height
)
;
height
=
math
.
max
(
height
,
%SELF%
.
get
min
height
(
)
)
;
float
max
height
=
%SELF%
.
get
max
height
(
)
;
if
(
max
height
>
0
&&
height
>
max
height
)
height
=
max
height
;
width
=
%SELF%
.
get
pref
width
(
)
;
}
else
{
width
=
child
.
get
width
(
)
;
height
=
child
.
get
height
(
)
;
if
(
fill
>
0
)
height
*=
fill
;
}
float
y
=
pad
bottom
;
if
(
(
align
&
align
.
top
)
!=
0
)
y
+=
group
height
-
height
;
else
if
(
(
align
&
align
.
bottom
)
==
0
)
y
+=
(
group
height
-
height
)
/
2
;
if
(
reverse
)
x
-=
(
width
+
spacing
)
;
if
(
round
)
child
.
set
bounds
(
math
.
round
(
x
)
,
math
.
round
(
y
)
,
math
.
round
(
width
)
,
math
.
round
(
height
)
)
;
else
child
.
set
bounds
(
x
,
y
,
width
,
height
)
;
if
(
!
reverse
)
x
+=
(
width
+
spacing
)
;
if
(
%SELF%
!=
null
)
%SELF%
.
validate
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
float
spacing
=
this
.
spacing
,
pad
bottom
=
this
.
pad
bottom
;
int
align
=
this
.
align
;
boolean
reverse
=
this
.
reverse
,
round
=
this
.
round
;
float
group
height
=
get
height
(
)
-
pad
top
-
pad
bottom
;
float
x
=
!
reverse
?
pad
left
:
get
width
(
)
-
pad
right
+
spacing
;
snapshot
array
<
actor
>
children
=
get
children
(
)
;
for
(
int
i
=
0
,
n
=
children
.
size
;
i
<
n
;
i
++
)
{
actor
child
=
children
.
get
(
i
)
;
float
width
,
height
;
layout
%SELF%
=
null
;
if
(
child
instanceof
layout
)
{
%SELF%
=
(
layout
)
child
;
if
(
fill
>
0
)
height
=
group
height
*
fill
;
else
height
=
math
.
min
(
%SELF%
.
get
pref
height
(
)
,
group
height
)
;
height
=
math
.
max
(
height
,
%SELF%
.
get
min
height
(
)
)
;
float
max
height
=
%SELF%
.
get
max
height
(
)
;
if
(
max
height
>
0
&&
height
>
max
height
)
height
=
max
height
;
width
=
%SELF%
.
get
pref
width
(
)
;
}
else
{
width
=
child
.
get
width
(
)
;
height
=
child
.
get
height
(
)
;
if
(
fill
>
0
)
height
*=
fill
;
}
float
y
=
pad
bottom
;
if
(
(
align
&
align
.
top
)
!=
0
)
y
+=
group
height
-
height
;
else
if
(
(
align
&
align
.
bottom
)
==
0
)
y
+=
(
group
height
-
height
)
/
2
;
if
(
reverse
)
x
-=
(
width
+
spacing
)
;
if
(
round
)
child
.
set
bounds
(
math
.
round
(
x
)
,
math
.
round
(
y
)
,
math
.
round
(
width
)
,
math
.
round
(
height
)
)
;
else
child
.
set
bounds
(
x
,
y
,
width
,
height
)
;
if
(
!
reverse
)
x
+=
(
width
+
spacing
)
;
if
(
%SELF%
!=
null
)
%SELF%
.
validate
(
)
;
}
}
<SENTENCE_END/>
get,pref,widthgetsize (5.58e-01)
pref (2.40e-01)
min (6.05e-02)
compute (4.79e-02)
get (1.79e-02)
pack (1.65e-02)
pad (7.45e-03)
random (7.44e-03)
max (6.08e-03)
width (5.12e-03)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
prefpref (4.97e-01)
size (1.62e-01)
width (1.02e-01)
min (5.68e-02)
height (4.84e-02)
pad (3.53e-02)
max (2.21e-02)
invalid (1.17e-02)
space (7.79e-03)
right (5.78e-03)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
width%END% (5.49e-01)
width (3.41e-01)
size (2.30e-02)
pref (2.28e-02)
height (1.08e-02)
invalid (6.37e-03)
value (5.83e-03)
compute (1.74e-03)
top (1.41e-03)
all (1.38e-03)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
width (2.25e-02)
size (1.97e-03)
value (1.90e-03)
height (9.61e-04)
pref (9.10e-04)
compute (8.41e-04)
all (7.33e-04)
count (2.89e-04)
array (1.92e-04)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
width
;
}
<SENTENCE_END/>
get,pref,heightgetsize (5.79e-01)
pref (2.17e-01)
min (5.81e-02)
compute (4.00e-02)
get (2.72e-02)
pack (1.61e-02)
random (7.98e-03)
pad (7.72e-03)
max (6.39e-03)
minimum (4.52e-03)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
prefpref (5.66e-01)
size (1.42e-01)
height (9.79e-02)
min (4.71e-02)
pad (3.36e-02)
width (2.80e-02)
max (1.93e-02)
invalid (1.01e-02)
space (7.02e-03)
top (5.40e-03)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
height%END% (4.68e-01)
height (4.35e-01)
pref (2.86e-02)
size (1.89e-02)
invalid (5.67e-03)
width (5.61e-03)
value (4.86e-03)
compute (1.59e-03)
all (1.25e-03)
top (1.22e-03)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
%END%%END% (9.64e-01)
height (2.22e-02)
size (1.83e-03)
value (1.68e-03)
pref (8.43e-04)
compute (7.60e-04)
all (7.09e-04)
width (5.03e-04)
count (2.52e-04)
array (1.78e-04)
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
size
invalid
)
compute
size
(
)
;
return
pref
height
;
}
<SENTENCE_END/>
set,roundsetset (9.83e-01)
round (9.73e-03)
this (6.88e-04)
reset (1.74e-04)
load (5.17e-05)
translate (4.10e-05)
= (3.59e-05)
create (3.50e-05)
finish (3.44e-05)
run (2.93e-05)
<SENTENCE_START>
{
this
.
round
=
round
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
round
=
round
;
}
<SENTENCE_END/>
roundround (9.98e-01)
generate (5.56e-05)
parse (1.62e-05)
%UNK% (1.53e-05)
set (1.02e-05)
show (5.19e-06)
create (3.99e-06)
texture (3.51e-06)
load (3.35e-06)
handle (2.97e-06)
<SENTENCE_START>
{
this
.
round
=
round
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
round
=
round
;
}
<SENTENCE_END/>
%END%%END% (9.67e-01)
round (6.71e-03)
%UNK% (1.85e-03)
value (1.56e-03)
display (7.19e-04)
texture (6.07e-04)
2 (5.94e-04)
positions (5.12e-04)
data (4.09e-04)
only (3.38e-04)
<SENTENCE_START>
{
this
.
round
=
round
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
round
=
round
;
}
<SENTENCE_END/>
reversereversemark (8.03e-02)
read (7.67e-02)
is (6.52e-02)
close (5.05e-02)
remove (4.48e-02)
size (3.58e-02)
hide (3.35e-02)
same (3.22e-02)
register (2.19e-02)
begin (1.98e-02)
<SENTENCE_START>
{
%SELF%
(
true
)
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
true
)
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (6.60e-01)
array (3.79e-02)
only (1.68e-02)
value (1.14e-02)
interface (1.02e-02)
static (8.71e-03)
to (8.44e-03)
height (8.23e-03)
size (7.76e-03)
2 (6.97e-03)
<SENTENCE_START>
{
%SELF%
(
true
)
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
true
)
;
return
this
;
}
<SENTENCE_END/>
reversereverseset (4.16e-01)
colspan (1.53e-01)
align (1.12e-01)
left (3.88e-02)
defaults (2.15e-02)
this (1.92e-02)
right (1.82e-02)
width (1.68e-02)
top (1.40e-02)
size (1.35e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (5.94e-01)
align (5.92e-02)
left (4.82e-02)
width (3.11e-02)
height (2.68e-02)
manual (2.48e-02)
right (2.47e-02)
top (2.38e-02)
bottom (2.18e-02)
colspan (1.58e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
get,reversegetget (5.91e-01)
is (1.92e-01)
reverse (1.38e-01)
last (3.40e-02)
previous (7.27e-03)
needs (5.46e-03)
append (4.69e-03)
peek (2.98e-03)
skip (2.32e-03)
available (1.69e-03)
<SENTENCE_START>
{
return
reverse
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
reverse
;
}
<SENTENCE_END/>
reversereverse (9.96e-01)
return (3.26e-03)
shuffle (3.89e-05)
decode (5.80e-06)
previous (3.56e-06)
bit (9.92e-07)
encode (5.88e-07)
reset (4.76e-07)
last (4.41e-07)
symbol (4.21e-07)
<SENTENCE_START>
{
return
reverse
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
reverse
;
}
<SENTENCE_END/>
%END%%END% (8.99e-01)
reverse (1.38e-02)
value (1.26e-02)
up (3.56e-03)
only (3.45e-03)
array (2.97e-03)
count (2.93e-03)
20 (2.29e-03)
%UNK% (2.05e-03)
buffer (1.82e-03)
<SENTENCE_START>
{
return
reverse
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
reverse
;
}
<SENTENCE_END/>
spacespaceset (9.93e-01)
spacing (2.95e-03)
this (6.64e-04)
return (1.70e-04)
clear (1.22e-04)
compute (1.01e-04)
reset (3.49e-05)
get (3.04e-05)
translate (2.05e-05)
add (1.24e-05)
<SENTENCE_START>
{
this
.
spacing
=
spacing
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
spacing
=
spacing
;
return
this
;
}
<SENTENCE_END/>
%END%spacing (9.90e-01)
set (7.83e-03)
compute (1.32e-04)
%END% (1.14e-04)
size (1.03e-04)
get (9.25e-05)
width (6.44e-05)
height (4.24e-05)
bounds (2.53e-05)
rectangle (9.31e-06)
<SENTENCE_START>
{
this
.
spacing
=
spacing
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
spacing
=
spacing
;
return
this
;
}
<SENTENCE_END/>
get,spacegetget (9.92e-01)
is (3.20e-03)
return (9.93e-04)
spacing (7.35e-04)
iterator (4.60e-04)
size (9.96e-05)
owns (7.31e-05)
protected (5.74e-05)
needs (3.82e-05)
length (1.39e-05)
<SENTENCE_START>
{
return
spacing
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
spacing
;
}
<SENTENCE_END/>
spacespacing (9.49e-01)
get (1.91e-02)
set (1.54e-02)
size (3.35e-03)
compute (2.91e-03)
return (2.83e-03)
width (1.31e-03)
height (7.81e-04)
rectangle (4.64e-04)
%END% (3.59e-04)
<SENTENCE_START>
{
return
spacing
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
spacing
;
}
<SENTENCE_END/>
%END%%END% (8.78e-01)
spacing (6.51e-02)
value (5.74e-03)
height (2.66e-03)
only (2.39e-03)
width (2.27e-03)
count (1.85e-03)
20 (1.70e-03)
buffer (1.24e-03)
offset (1.10e-03)
<SENTENCE_START>
{
return
spacing
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
spacing
;
}
<SENTENCE_END/>
padpadpad (6.93e-01)
right (8.79e-02)
bottom (7.85e-02)
left (6.72e-02)
top (3.53e-02)
padding (2.34e-02)
space (1.06e-03)
set (8.12e-04)
return (5.38e-04)
max (5.04e-04)
<SENTENCE_START>
{
pad
top
=
%SELF%
;
pad
left
=
%SELF%
;
pad
bottom
=
%SELF%
;
pad
right
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
pad
top
=
%SELF%
;
pad
left
=
%SELF%
;
pad
bottom
=
%SELF%
;
pad
right
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.42e-01)
bottom (1.01e-02)
top (9.44e-03)
right (7.40e-03)
left (5.55e-03)
pad (4.30e-03)
align (1.30e-03)
this (8.45e-04)
height (5.89e-04)
width (4.14e-04)
<SENTENCE_START>
{
pad
top
=
%SELF%
;
pad
left
=
%SELF%
;
pad
bottom
=
%SELF%
;
pad
right
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
pad
top
=
%SELF%
;
pad
left
=
%SELF%
;
pad
bottom
=
%SELF%
;
pad
right
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
padpadpad (8.48e-01)
right (3.69e-02)
bottom (3.61e-02)
left (2.33e-02)
padding (2.24e-02)
top (1.92e-02)
set (3.82e-03)
space (1.08e-03)
max (4.06e-04)
return (3.28e-04)
<SENTENCE_START>
{
pad
top
=
top
;
pad
left
=
left
;
pad
bottom
=
bottom
;
pad
right
=
right
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
pad
top
=
top
;
pad
left
=
left
;
pad
bottom
=
bottom
;
pad
right
=
right
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (7.64e-01)
pad (1.70e-01)
top (2.18e-02)
right (6.06e-03)
bottom (4.70e-03)
left (4.18e-03)
this (1.74e-03)
return (1.95e-04)
down (9.52e-05)
align (9.07e-05)
<SENTENCE_START>
{
pad
top
=
top
;
pad
left
=
left
;
pad
bottom
=
bottom
;
pad
right
=
right
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
pad
top
=
top
;
pad
left
=
left
;
pad
bottom
=
bottom
;
pad
right
=
right
;
return
this
;
}
<SENTENCE_END/>
pad,toppadset (4.16e-01)
colspan (1.53e-01)
align (1.12e-01)
left (3.88e-02)
defaults (2.15e-02)
this (1.92e-02)
right (1.82e-02)
width (1.68e-02)
top (1.40e-02)
size (1.35e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
top%END% (5.94e-01)
align (5.92e-02)
left (4.82e-02)
width (3.11e-02)
height (2.68e-02)
manual (2.48e-02)
right (2.47e-02)
top (2.38e-02)
bottom (2.18e-02)
colspan (1.58e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
height (4.17e-03)
width (4.00e-03)
align (2.48e-03)
left (2.48e-03)
2 (1.99e-03)
manual (1.85e-03)
top (1.66e-03)
value (1.66e-03)
right (1.54e-03)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
pad,leftpadset (4.16e-01)
colspan (1.53e-01)
align (1.12e-01)
left (3.88e-02)
defaults (2.15e-02)
this (1.92e-02)
right (1.82e-02)
width (1.68e-02)
top (1.40e-02)
size (1.35e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
left%END% (5.94e-01)
align (5.92e-02)
left (4.82e-02)
width (3.11e-02)
height (2.68e-02)
manual (2.48e-02)
right (2.47e-02)
top (2.38e-02)
bottom (2.18e-02)
colspan (1.58e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
height (4.17e-03)
width (4.00e-03)
align (2.48e-03)
left (2.48e-03)
2 (1.99e-03)
manual (1.85e-03)
top (1.66e-03)
value (1.66e-03)
right (1.54e-03)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
pad,bottompadset (4.16e-01)
colspan (1.53e-01)
align (1.12e-01)
left (3.88e-02)
defaults (2.15e-02)
this (1.92e-02)
right (1.82e-02)
width (1.68e-02)
top (1.40e-02)
size (1.35e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
bottom%END% (5.94e-01)
align (5.92e-02)
left (4.82e-02)
width (3.11e-02)
height (2.68e-02)
manual (2.48e-02)
right (2.47e-02)
top (2.38e-02)
bottom (2.18e-02)
colspan (1.58e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
height (4.17e-03)
width (4.00e-03)
align (2.48e-03)
left (2.48e-03)
2 (1.99e-03)
manual (1.85e-03)
top (1.66e-03)
value (1.66e-03)
right (1.54e-03)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
pad,rightpadset (4.16e-01)
colspan (1.53e-01)
align (1.12e-01)
left (3.88e-02)
defaults (2.15e-02)
this (1.92e-02)
right (1.82e-02)
width (1.68e-02)
top (1.40e-02)
size (1.35e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
right%END% (5.94e-01)
align (5.92e-02)
left (4.82e-02)
width (3.11e-02)
height (2.68e-02)
manual (2.48e-02)
right (2.47e-02)
top (2.38e-02)
bottom (2.18e-02)
colspan (1.58e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
height (4.17e-03)
width (4.00e-03)
align (2.48e-03)
left (2.48e-03)
2 (1.99e-03)
manual (1.85e-03)
top (1.66e-03)
value (1.66e-03)
right (1.54e-03)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
get,pad,topgetget (9.88e-01)
is (3.72e-03)
pad (2.71e-03)
return (1.92e-03)
top (3.86e-04)
iterator (2.65e-04)
needs (1.31e-04)
owns (6.52e-05)
protected (6.34e-05)
append (6.11e-05)
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
padpad (9.94e-01)
top (6.16e-03)
return (3.15e-04)
padding (5.67e-06)
space (4.00e-06)
max (2.46e-06)
bottom (1.98e-06)
right (7.13e-07)
min (6.05e-07)
left (5.63e-07)
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
toptop (9.88e-01)
pad (5.73e-03)
value (2.17e-03)
%END% (1.23e-03)
max (4.63e-04)
height (2.72e-04)
bottom (2.31e-04)
width (1.62e-04)
right (1.59e-04)
left (1.04e-04)
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
%END%%END% (7.76e-01)
value (1.01e-01)
top (3.61e-02)
height (6.95e-03)
width (4.32e-03)
only (3.03e-03)
offset (2.75e-03)
mode (2.25e-03)
20 (1.83e-03)
torque (1.72e-03)
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
top
;
}
<SENTENCE_END/>
get,pad,leftgetget (9.88e-01)
is (3.85e-03)
pad (2.83e-03)
return (1.78e-03)
iterator (4.26e-04)
left (4.04e-04)
needs (1.58e-04)
append (8.47e-05)
owns (8.11e-05)
protected (6.63e-05)
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
padpad (9.94e-01)
left (5.24e-03)
return (3.21e-04)
padding (6.48e-06)
space (2.36e-06)
max (1.57e-06)
bottom (6.04e-07)
right (6.02e-07)
min (4.88e-07)
pref (2.74e-07)
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
leftleft (9.84e-01)
pad (7.84e-03)
value (2.60e-03)
%END% (1.58e-03)
max (6.08e-04)
height (3.31e-04)
bottom (2.48e-04)
right (2.41e-04)
width (2.23e-04)
top (1.86e-04)
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
%END%%END% (7.64e-01)
value (1.11e-01)
left (3.07e-02)
height (7.69e-03)
width (5.11e-03)
only (2.95e-03)
offset (2.55e-03)
mode (2.25e-03)
torque (2.02e-03)
max (1.80e-03)
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
left
;
}
<SENTENCE_END/>
get,pad,bottomgetget (9.89e-01)
is (2.89e-03)
pad (2.82e-03)
return (1.84e-03)
bottom (4.24e-04)
iterator (2.47e-04)
needs (1.01e-04)
owns (5.53e-05)
append (5.22e-05)
protected (4.67e-05)
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
padpad (9.92e-01)
bottom (7.64e-03)
return (2.58e-04)
padding (5.48e-06)
max (1.97e-06)
space (1.90e-06)
top (6.43e-07)
right (5.63e-07)
left (4.39e-07)
min (3.58e-07)
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
bottombottom (9.90e-01)
pad (4.75e-03)
value (1.85e-03)
%END% (1.26e-03)
max (3.77e-04)
height (2.19e-04)
top (1.48e-04)
width (1.37e-04)
right (1.33e-04)
left (8.67e-05)
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
%END%%END% (7.87e-01)
value (9.65e-02)
bottom (3.51e-02)
height (6.16e-03)
width (3.93e-03)
only (3.02e-03)
offset (2.55e-03)
mode (2.09e-03)
20 (1.84e-03)
torque (1.70e-03)
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
bottom
;
}
<SENTENCE_END/>
get,pad,rightgetget (9.88e-01)
is (4.10e-03)
pad (2.79e-03)
return (1.85e-03)
right (4.20e-04)
iterator (3.29e-04)
needs (1.42e-04)
append (8.89e-05)
owns (8.00e-05)
protected (5.81e-05)
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
padpad (9.94e-01)
right (5.95e-03)
return (2.92e-04)
padding (5.45e-06)
max (2.28e-06)
space (1.92e-06)
bottom (1.01e-06)
left (8.41e-07)
top (4.05e-07)
min (3.82e-07)
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
rightright (9.88e-01)
pad (5.62e-03)
value (1.95e-03)
%END% (8.85e-04)
max (4.64e-04)
height (2.60e-04)
bottom (1.90e-04)
width (1.79e-04)
top (1.44e-04)
left (1.22e-04)
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
%END%%END% (7.31e-01)
value (1.24e-01)
right (3.54e-02)
height (8.80e-03)
width (5.93e-03)
only (3.48e-03)
offset (3.15e-03)
mode (2.90e-03)
torque (2.43e-03)
20 (2.03e-03)
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
pad
right
;
}
<SENTENCE_END/>
alignalignset (4.16e-01)
colspan (1.53e-01)
align (1.12e-01)
left (3.88e-02)
defaults (2.15e-02)
this (1.92e-02)
right (1.82e-02)
width (1.68e-02)
top (1.40e-02)
size (1.35e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (5.94e-01)
align (5.92e-02)
left (4.82e-02)
width (3.11e-02)
height (2.68e-02)
manual (2.48e-02)
right (2.47e-02)
top (2.38e-02)
bottom (2.18e-02)
colspan (1.58e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
centercentercenter (4.93e-01)
align (2.80e-01)
set (1.36e-01)
colspan (1.67e-02)
%END% (4.81e-03)
bottom (4.19e-03)
apply (4.13e-03)
right (4.00e-03)
left (3.90e-03)
defaults (3.68e-03)
<SENTENCE_START>
{
align
=
align
.
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
align
=
align
.
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (7.83e-01)
align (1.21e-01)
center (2.60e-02)
bottom (1.08e-02)
top (1.04e-02)
left (9.12e-03)
right (7.99e-03)
position (2.71e-03)
height (2.32e-03)
width (2.12e-03)
<SENTENCE_START>
{
align
=
align
.
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
align
=
align
.
%SELF%
;
return
this
;
}
<SENTENCE_END/>
toptopright (3.02e-01)
bottom (2.48e-01)
top (1.95e-01)
left (1.67e-01)
align (3.48e-02)
%END% (1.73e-02)
defaults (7.26e-03)
center (3.73e-03)
padding (2.37e-03)
disable (1.90e-03)
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
bottom
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
bottom
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (8.52e-01)
bottom (3.48e-02)
top (2.83e-02)
right (2.22e-02)
align (2.09e-02)
left (2.02e-02)
center (3.07e-03)
height (1.24e-03)
position (1.05e-03)
y (9.90e-04)
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
bottom
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
bottom
;
return
this
;
}
<SENTENCE_END/>
bottombottomright (3.02e-01)
bottom (2.45e-01)
top (2.03e-01)
left (1.70e-01)
align (3.00e-02)
%END% (1.68e-02)
defaults (6.71e-03)
center (2.97e-03)
padding (2.11e-03)
disable (1.96e-03)
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
top
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
top
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (8.67e-01)
top (2.95e-02)
bottom (2.70e-02)
right (1.96e-02)
align (1.91e-02)
left (1.78e-02)
center (2.68e-03)
height (1.25e-03)
position (9.47e-04)
y (9.16e-04)
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
top
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
align
|=
align
.
%SELF%
;
align
&=
~
align
.
top
;
return
this
;
}
<SENTENCE_END/>
get,aligngetget (9.47e-01)
is (2.23e-02)
iterator (1.70e-02)
needs (2.84e-03)
protected (1.66e-03)
return (1.22e-03)
align (8.11e-04)
owns (7.70e-04)
center (3.25e-04)
annotation (3.06e-04)
<SENTENCE_START>
{
return
align
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
align
;
}
<SENTENCE_END/>
alignalign (6.86e-01)
center (1.43e-01)
%END% (1.33e-01)
bottom (5.70e-03)
top (5.29e-03)
right (4.13e-03)
left (2.58e-03)
mode (2.36e-03)
return (1.97e-03)
bounds (1.53e-03)
<SENTENCE_START>
{
return
align
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
align
;
}
<SENTENCE_END/>
%END%%END% (9.57e-01)
align (1.50e-02)
value (2.34e-03)
only (1.28e-03)
mode (1.10e-03)
height (1.05e-03)
20 (9.11e-04)
width (8.07e-04)
count (6.45e-04)
offset (5.31e-04)
<SENTENCE_START>
{
return
align
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
align
;
}
<SENTENCE_END/>
fillfillfill (8.88e-01)
set (2.71e-02)
expand (8.25e-03)
scale (8.22e-03)
x (8.14e-03)
center (3.78e-03)
grow (3.51e-03)
1f (2.75e-03)
align (2.62e-03)
invalidate (2.58e-03)
<SENTENCE_START>
{
%SELF%
=
1f
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
=
1f
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (2.88e-01)
x (1.35e-01)
y (7.45e-02)
align (4.14e-02)
fill (3.72e-02)
position (3.56e-02)
left (2.93e-02)
width (2.24e-02)
top (1.79e-02)
center (1.72e-02)
<SENTENCE_START>
{
%SELF%
=
1f
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
=
1f
;
return
this
;
}
<SENTENCE_END/>
fillfillset (4.16e-01)
colspan (1.53e-01)
align (1.12e-01)
left (3.88e-02)
defaults (2.15e-02)
this (1.92e-02)
right (1.82e-02)
width (1.68e-02)
top (1.40e-02)
size (1.35e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (5.94e-01)
align (5.92e-02)
left (4.82e-02)
width (3.11e-02)
height (2.68e-02)
manual (2.48e-02)
right (2.47e-02)
top (2.38e-02)
bottom (2.18e-02)
colspan (1.58e-02)
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
%SELF%
=
%SELF%
;
return
this
;
}
<SENTENCE_END/>
get,fillgetget (9.90e-01)
is (3.98e-03)
fill (1.50e-03)
return (1.21e-03)
needs (1.97e-04)
iterator (1.88e-04)
owns (6.73e-05)
length (4.53e-05)
touch (4.41e-05)
append (3.82e-05)
<SENTENCE_START>
{
return
fill
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
fill
;
}
<SENTENCE_END/>
fillfill (9.97e-01)
return (2.85e-03)
rectangle (2.32e-06)
grow (1.42e-06)
scale (1.10e-06)
%END% (8.06e-07)
draw (6.36e-07)
circle (5.24e-07)
line (3.28e-07)
color (1.83e-07)
<SENTENCE_START>
{
return
fill
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
fill
;
}
<SENTENCE_END/>
%END%%END% (9.47e-01)
fill (1.99e-02)
height (1.05e-03)
value (1.01e-03)
width (1.00e-03)
offset (9.25e-04)
only (7.50e-04)
20 (7.48e-04)
buffer (7.12e-04)
display (6.52e-04)
<SENTENCE_START>
{
return
fill
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
fill
;
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
set,shape,partsetset (9.87e-01)
part (6.67e-03)
shape (4.51e-03)
info (6.27e-04)
local (2.00e-04)
jni (1.44e-04)
collision (1.18e-04)
c (7.84e-05)
this (7.68e-05)
ptr (7.56e-05)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
shapeshape (5.92e-01)
part (4.03e-01)
%END% (4.07e-03)
local (2.81e-04)
set (1.17e-04)
info (1.05e-04)
ref (4.26e-05)
get (4.18e-05)
obtain (2.36e-05)
take (2.35e-05)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
partpart (9.34e-01)
%END% (5.70e-02)
shape (5.04e-03)
set (2.93e-03)
info (2.84e-04)
local (4.73e-05)
value (2.18e-05)
jni (1.98e-05)
collision (1.94e-05)
swig (1.39e-05)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (9.25e-01)
part (4.80e-02)
set (2.31e-02)
shape (5.93e-04)
%UNK% (1.62e-04)
2 (1.24e-04)
swig (1.18e-04)
c (9.18e-05)
data (8.92e-05)
info (8.63e-05)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
shape
part
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
get,shape,partgetget (9.88e-01)
part (6.00e-03)
shape (4.41e-03)
info (6.11e-04)
local (1.74e-04)
collision (1.31e-04)
return (1.27e-04)
jni (1.04e-04)
c (8.69e-05)
ptr (8.42e-05)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
shapeshape (5.33e-01)
part (4.62e-01)
%END% (3.28e-03)
get (4.72e-04)
local (2.90e-04)
info (9.83e-05)
obtain (7.99e-05)
ref (4.09e-05)
internal (3.60e-05)
swig (2.52e-05)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
partpart (9.56e-01)
%END% (3.29e-02)
get (5.30e-03)
shape (5.28e-03)
info (2.83e-04)
local (4.54e-05)
jni (2.42e-05)
c (1.98e-05)
collision (1.95e-05)
ptr (1.64e-05)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.33e-01)
part (3.75e-02)
get (2.55e-02)
shape (5.34e-04)
2 (1.74e-04)
c (1.40e-04)
info (1.25e-04)
%UNK% (1.17e-04)
swig (1.05e-04)
data (1.02e-04)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
shape
part
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
set,triangle,indexsetset (9.81e-01)
triangle (7.90e-03)
index (5.99e-03)
info (1.67e-03)
shape (5.39e-04)
local (3.94e-04)
jni (2.56e-04)
collision (1.84e-04)
c (1.21e-04)
this (1.21e-04)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
triangletriangle (9.82e-01)
index (1.55e-02)
%END% (1.82e-03)
info (1.66e-04)
local (5.29e-05)
get (1.20e-05)
set (1.06e-05)
vertex (4.37e-06)
shape (3.76e-06)
%UNK% (3.12e-06)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
indexindex (9.91e-01)
%END% (4.52e-03)
triangle (3.25e-03)
set (7.50e-04)
shape (7.38e-05)
info (3.74e-05)
local (1.10e-05)
jni (4.62e-06)
collision (3.87e-06)
value (3.60e-06)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (8.92e-01)
index (9.23e-02)
set (1.41e-02)
triangle (1.81e-04)
%UNK% (1.17e-04)
2 (8.59e-05)
swig (4.72e-05)
c (4.08e-05)
data (3.41e-05)
position (3.35e-05)
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
local
shape
info
triangle
index
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
get,triangle,indexgetget (9.84e-01)
triangle (7.06e-03)
index (5.12e-03)
info (1.44e-03)
shape (4.33e-04)
local (3.19e-04)
collision (1.79e-04)
jni (1.65e-04)
return (1.63e-04)
c (1.32e-04)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
triangletriangle (9.83e-01)
index (1.52e-02)
%END% (1.61e-03)
info (1.50e-04)
get (8.28e-05)
local (3.81e-05)
vertex (6.06e-06)
%UNK% (5.12e-06)
c (4.19e-06)
set (3.39e-06)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
indexindex (9.92e-01)
triangle (3.52e-03)
%END% (2.92e-03)
get (1.20e-03)
shape (6.74e-05)
info (3.64e-05)
local (9.45e-06)
jni (5.31e-06)
ptr (4.35e-06)
c (3.95e-06)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.03e-01)
index (7.59e-02)
get (1.92e-02)
triangle (1.55e-04)
2 (1.41e-04)
%UNK% (1.05e-04)
c (8.07e-05)
local (5.74e-05)
rad (5.31e-05)
swig (4.90e-05)
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
local
shape
info
triangle
index
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
createcreateget (2.94e-01)
set (4.67e-02)
touch (3.94e-02)
down (3.10e-02)
render (2.92e-02)
%END% (2.42e-02)
key (2.25e-02)
begin (1.97e-02)
%UNK% (1.92e-02)
setup (1.91e-02)
<SENTENCE_START>
{
font
=
new
bitmap
font
(
)
;
font
.
set
color
(
0
,
0
,
0
,
1
)
;
pixmap
pixmap
=
new
pixmap
(
16
,
16
,
format
.
rgba
8888
)
;
pixmap
.
set
color
(
1
,
1
,
1
,
1
)
;
pixmap
.
fill
(
)
;
texture
=
new
texture
(
pixmap
)
;
batch
=
new
sprite
batch
(
)
;
camera
=
new
orthographic
camera
(
)
;
camera
.
position
.
set
(
100
,
100
,
0
)
;
camera
.
update
(
)
;
viewports
=
viewport
test
1
.
get
viewports
(
camera
)
;
viewport
=
viewports
.
first
(
)
;
names
=
viewport
test
1
.
get
viewport
names
(
)
;
name
=
names
.
first
(
)
;
gdx
.
input
.
set
input
processor
(
new
input
adapter
(
)
{
public
boolean
key
down
(
int
keycode
)
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
}
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
font
=
new
bitmap
font
(
)
;
font
.
set
color
(
0
,
0
,
0
,
1
)
;
pixmap
pixmap
=
new
pixmap
(
16
,
16
,
format
.
rgba
8888
)
;
pixmap
.
set
color
(
1
,
1
,
1
,
1
)
;
pixmap
.
fill
(
)
;
texture
=
new
texture
(
pixmap
)
;
batch
=
new
sprite
batch
(
)
;
camera
=
new
orthographic
camera
(
)
;
camera
.
position
.
set
(
100
,
100
,
0
)
;
camera
.
update
(
)
;
viewports
=
viewport
test
1
.
get
viewports
(
camera
)
;
viewport
=
viewports
.
first
(
)
;
names
=
viewport
test
1
.
get
viewport
names
(
)
;
name
=
names
.
first
(
)
;
gdx
.
input
.
set
input
processor
(
new
input
adapter
(
)
{
public
boolean
key
down
(
int
keycode
)
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
}
)
;
}
<SENTENCE_END/>
%END%%END% (6.75e-01)
down (2.03e-02)
get (1.37e-02)
%UNK% (1.14e-02)
to (1.09e-02)
viewports (7.99e-03)
render (6.66e-03)
key (5.94e-03)
frame (4.58e-03)
pixmap (4.46e-03)
<SENTENCE_START>
{
font
=
new
bitmap
font
(
)
;
font
.
set
color
(
0
,
0
,
0
,
1
)
;
pixmap
pixmap
=
new
pixmap
(
16
,
16
,
format
.
rgba
8888
)
;
pixmap
.
set
color
(
1
,
1
,
1
,
1
)
;
pixmap
.
fill
(
)
;
texture
=
new
texture
(
pixmap
)
;
batch
=
new
sprite
batch
(
)
;
camera
=
new
orthographic
camera
(
)
;
camera
.
position
.
set
(
100
,
100
,
0
)
;
camera
.
update
(
)
;
viewports
=
viewport
test
1
.
get
viewports
(
camera
)
;
viewport
=
viewports
.
first
(
)
;
names
=
viewport
test
1
.
get
viewport
names
(
)
;
name
=
names
.
first
(
)
;
gdx
.
input
.
set
input
processor
(
new
input
adapter
(
)
{
public
boolean
key
down
(
int
keycode
)
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
}
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
font
=
new
bitmap
font
(
)
;
font
.
set
color
(
0
,
0
,
0
,
1
)
;
pixmap
pixmap
=
new
pixmap
(
16
,
16
,
format
.
rgba
8888
)
;
pixmap
.
set
color
(
1
,
1
,
1
,
1
)
;
pixmap
.
fill
(
)
;
texture
=
new
texture
(
pixmap
)
;
batch
=
new
sprite
batch
(
)
;
camera
=
new
orthographic
camera
(
)
;
camera
.
position
.
set
(
100
,
100
,
0
)
;
camera
.
update
(
)
;
viewports
=
viewport
test
1
.
get
viewports
(
camera
)
;
viewport
=
viewports
.
first
(
)
;
names
=
viewport
test
1
.
get
viewport
names
(
)
;
name
=
names
.
first
(
)
;
gdx
.
input
.
set
input
processor
(
new
input
adapter
(
)
{
public
boolean
key
down
(
int
keycode
)
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
}
)
;
}
<SENTENCE_END/>
key,downkeykey (7.47e-01)
down (1.26e-01)
viewports (1.43e-02)
touch (1.29e-02)
scrolled (1.24e-02)
get (1.04e-02)
contains (1.02e-02)
keys (9.30e-03)
keycode (3.69e-03)
up (3.51e-03)
<SENTENCE_START>
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
<SENTENCE_END/>
downdown (3.47e-01)
key (2.11e-01)
%END% (1.55e-01)
viewports (3.06e-02)
get (1.89e-02)
up (1.51e-02)
pressed (1.31e-02)
to (1.05e-02)
index (9.38e-03)
touch (9.08e-03)
<SENTENCE_START>
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
<SENTENCE_END/>
%END%%END% (8.67e-01)
down (3.03e-02)
key (9.18e-03)
to (4.49e-03)
viewports (4.35e-03)
index (3.79e-03)
pressed (3.71e-03)
at (2.41e-03)
string (2.35e-03)
up (2.34e-03)
<SENTENCE_START>
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
keycode
==
input
.
keys
.
space
)
{
int
index
=
(
viewports
.
index
of
(
viewport
,
true
)
+
1
)
%
viewports
.
size
;
name
=
names
.
get
(
index
)
;
viewport
=
viewports
.
get
(
index
)
;
resize
(
gdx
.
graphics
.
get
width
(
)
,
gdx
.
graphics
.
get
height
(
)
)
;
}
return
false
;
}
<SENTENCE_END/>
renderrenderdraw (2.01e-01)
set (1.43e-01)
render (1.00e-01)
%END% (9.17e-02)
get (3.96e-02)
begin (2.70e-02)
end (2.65e-02)
apply (2.24e-02)
update (2.21e-02)
%UNK% (2.02e-02)
<SENTENCE_START>
{
batch
.
set
projection
matrix
(
camera
.
projection
)
;
batch
.
set
transform
matrix
(
camera
.
view
)
;
gdx
.
gl
.
gl
clear
(
gl
20
.
gl
color
buffer
bit
)
;
batch
.
begin
(
)
;
batch
.
set
color
(
1
,
1
,
1
,
1
)
;
batch
.
draw
(
texture
,
-
4096
,
-
4096
,
4096
,
4096
,
8192
,
8192
,
1
,
1
,
0
,
0
,
0
,
16
,
16
,
false
,
false
)
;
batch
.
set
color
(
1
,
0
,
0
,
1
)
;
batch
.
draw
(
texture
,
150
,
100
,
16
,
16
,
32
,
32
,
1
,
1
,
45
,
0
,
0
,
16
,
16
,
false
,
false
)
;
font
.
draw
(
batch
,
viewport
.
get
class
(
)
.
get
simple
name
(
)
,
150
,
100
)
;
batch
.
end
(
)
;
if
(
viewport
instanceof
scaling
viewport
)
{
scaling
viewport
scaling
viewport
=
(
scaling
viewport
)
viewport
;
int
screen
width
=
gdx
.
graphics
.
get
width
(
)
;
int
screen
height
=
gdx
.
graphics
.
get
height
(
)
;
gdx
.
gl
.
gl
viewport
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
projection
matrix
(
)
.
idt
(
)
.
set
to
ortho
2
d
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
transform
matrix
(
)
.
idt
(
)
;
batch
.
begin
(
)
;
float
left
gutter
width
=
scaling
viewport
.
get
left
gutter
width
(
)
;
if
(
left
gutter
width
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
left
gutter
width
,
screen
height
)
;
batch
.
draw
(
texture
,
scaling
viewport
.
get
right
gutter
x
(
)
,
0
,
scaling
viewport
.
get
right
gutter
width
(
)
,
screen
height
)
;
}
float
bottom
gutter
height
=
scaling
viewport
.
get
bottom
gutter
height
(
)
;
if
(
bottom
gutter
height
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
screen
width
,
bottom
gutter
height
)
;
batch
.
draw
(
texture
,
0
,
scaling
viewport
.
get
top
gutter
y
(
)
,
screen
width
,
scaling
viewport
.
get
top
gutter
height
(
)
)
;
}
batch
.
end
(
)
;
viewport
.
update
(
screen
width
,
screen
height
,
true
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
batch
.
set
projection
matrix
(
camera
.
projection
)
;
batch
.
set
transform
matrix
(
camera
.
view
)
;
gdx
.
gl
.
gl
clear
(
gl
20
.
gl
color
buffer
bit
)
;
batch
.
begin
(
)
;
batch
.
set
color
(
1
,
1
,
1
,
1
)
;
batch
.
draw
(
texture
,
-
4096
,
-
4096
,
4096
,
4096
,
8192
,
8192
,
1
,
1
,
0
,
0
,
0
,
16
,
16
,
false
,
false
)
;
batch
.
set
color
(
1
,
0
,
0
,
1
)
;
batch
.
draw
(
texture
,
150
,
100
,
16
,
16
,
32
,
32
,
1
,
1
,
45
,
0
,
0
,
16
,
16
,
false
,
false
)
;
font
.
draw
(
batch
,
viewport
.
get
class
(
)
.
get
simple
name
(
)
,
150
,
100
)
;
batch
.
end
(
)
;
if
(
viewport
instanceof
scaling
viewport
)
{
scaling
viewport
scaling
viewport
=
(
scaling
viewport
)
viewport
;
int
screen
width
=
gdx
.
graphics
.
get
width
(
)
;
int
screen
height
=
gdx
.
graphics
.
get
height
(
)
;
gdx
.
gl
.
gl
viewport
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
projection
matrix
(
)
.
idt
(
)
.
set
to
ortho
2
d
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
transform
matrix
(
)
.
idt
(
)
;
batch
.
begin
(
)
;
float
left
gutter
width
=
scaling
viewport
.
get
left
gutter
width
(
)
;
if
(
left
gutter
width
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
left
gutter
width
,
screen
height
)
;
batch
.
draw
(
texture
,
scaling
viewport
.
get
right
gutter
x
(
)
,
0
,
scaling
viewport
.
get
right
gutter
width
(
)
,
screen
height
)
;
}
float
bottom
gutter
height
=
scaling
viewport
.
get
bottom
gutter
height
(
)
;
if
(
bottom
gutter
height
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
screen
width
,
bottom
gutter
height
)
;
batch
.
draw
(
texture
,
0
,
scaling
viewport
.
get
top
gutter
y
(
)
,
screen
width
,
scaling
viewport
.
get
top
gutter
height
(
)
)
;
}
batch
.
end
(
)
;
viewport
.
update
(
screen
width
,
screen
height
,
true
)
;
}
}
<SENTENCE_END/>
%END%%END% (6.91e-01)
draw (1.97e-02)
render (1.53e-02)
%UNK% (1.23e-02)
to (1.03e-02)
scissors (1.01e-02)
set (8.73e-03)
get (6.00e-03)
viewport (5.94e-03)
batch (5.86e-03)
<SENTENCE_START>
{
batch
.
set
projection
matrix
(
camera
.
projection
)
;
batch
.
set
transform
matrix
(
camera
.
view
)
;
gdx
.
gl
.
gl
clear
(
gl
20
.
gl
color
buffer
bit
)
;
batch
.
begin
(
)
;
batch
.
set
color
(
1
,
1
,
1
,
1
)
;
batch
.
draw
(
texture
,
-
4096
,
-
4096
,
4096
,
4096
,
8192
,
8192
,
1
,
1
,
0
,
0
,
0
,
16
,
16
,
false
,
false
)
;
batch
.
set
color
(
1
,
0
,
0
,
1
)
;
batch
.
draw
(
texture
,
150
,
100
,
16
,
16
,
32
,
32
,
1
,
1
,
45
,
0
,
0
,
16
,
16
,
false
,
false
)
;
font
.
draw
(
batch
,
viewport
.
get
class
(
)
.
get
simple
name
(
)
,
150
,
100
)
;
batch
.
end
(
)
;
if
(
viewport
instanceof
scaling
viewport
)
{
scaling
viewport
scaling
viewport
=
(
scaling
viewport
)
viewport
;
int
screen
width
=
gdx
.
graphics
.
get
width
(
)
;
int
screen
height
=
gdx
.
graphics
.
get
height
(
)
;
gdx
.
gl
.
gl
viewport
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
projection
matrix
(
)
.
idt
(
)
.
set
to
ortho
2
d
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
transform
matrix
(
)
.
idt
(
)
;
batch
.
begin
(
)
;
float
left
gutter
width
=
scaling
viewport
.
get
left
gutter
width
(
)
;
if
(
left
gutter
width
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
left
gutter
width
,
screen
height
)
;
batch
.
draw
(
texture
,
scaling
viewport
.
get
right
gutter
x
(
)
,
0
,
scaling
viewport
.
get
right
gutter
width
(
)
,
screen
height
)
;
}
float
bottom
gutter
height
=
scaling
viewport
.
get
bottom
gutter
height
(
)
;
if
(
bottom
gutter
height
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
screen
width
,
bottom
gutter
height
)
;
batch
.
draw
(
texture
,
0
,
scaling
viewport
.
get
top
gutter
y
(
)
,
screen
width
,
scaling
viewport
.
get
top
gutter
height
(
)
)
;
}
batch
.
end
(
)
;
viewport
.
update
(
screen
width
,
screen
height
,
true
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
batch
.
set
projection
matrix
(
camera
.
projection
)
;
batch
.
set
transform
matrix
(
camera
.
view
)
;
gdx
.
gl
.
gl
clear
(
gl
20
.
gl
color
buffer
bit
)
;
batch
.
begin
(
)
;
batch
.
set
color
(
1
,
1
,
1
,
1
)
;
batch
.
draw
(
texture
,
-
4096
,
-
4096
,
4096
,
4096
,
8192
,
8192
,
1
,
1
,
0
,
0
,
0
,
16
,
16
,
false
,
false
)
;
batch
.
set
color
(
1
,
0
,
0
,
1
)
;
batch
.
draw
(
texture
,
150
,
100
,
16
,
16
,
32
,
32
,
1
,
1
,
45
,
0
,
0
,
16
,
16
,
false
,
false
)
;
font
.
draw
(
batch
,
viewport
.
get
class
(
)
.
get
simple
name
(
)
,
150
,
100
)
;
batch
.
end
(
)
;
if
(
viewport
instanceof
scaling
viewport
)
{
scaling
viewport
scaling
viewport
=
(
scaling
viewport
)
viewport
;
int
screen
width
=
gdx
.
graphics
.
get
width
(
)
;
int
screen
height
=
gdx
.
graphics
.
get
height
(
)
;
gdx
.
gl
.
gl
viewport
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
projection
matrix
(
)
.
idt
(
)
.
set
to
ortho
2
d
(
0
,
0
,
screen
width
,
screen
height
)
;
batch
.
get
transform
matrix
(
)
.
idt
(
)
;
batch
.
begin
(
)
;
float
left
gutter
width
=
scaling
viewport
.
get
left
gutter
width
(
)
;
if
(
left
gutter
width
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
left
gutter
width
,
screen
height
)
;
batch
.
draw
(
texture
,
scaling
viewport
.
get
right
gutter
x
(
)
,
0
,
scaling
viewport
.
get
right
gutter
width
(
)
,
screen
height
)
;
}
float
bottom
gutter
height
=
scaling
viewport
.
get
bottom
gutter
height
(
)
;
if
(
bottom
gutter
height
>
0
)
{
batch
.
draw
(
texture
,
0
,
0
,
screen
width
,
bottom
gutter
height
)
;
batch
.
draw
(
texture
,
0
,
scaling
viewport
.
get
top
gutter
y
(
)
,
screen
width
,
scaling
viewport
.
get
top
gutter
height
(
)
)
;
}
batch
.
end
(
)
;
viewport
.
update
(
screen
width
,
screen
height
,
true
)
;
}
}
<SENTENCE_END/>
resizeresize%UNK% (1.16e-01)
get (1.06e-01)
print (8.23e-02)
update (7.29e-02)
set (5.64e-02)
to (4.18e-02)
flush (3.93e-02)
apply (3.84e-02)
out (2.90e-02)
add (1.77e-02)
<SENTENCE_START>
{
system
.
out
.
println
(
name
)
;
viewport
.
update
(
width
,
height
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
system
.
out
.
println
(
name
)
;
viewport
.
update
(
width
,
height
)
;
}
<SENTENCE_END/>
%END%%END% (8.90e-01)
to (8.89e-03)
height (5.94e-03)
%UNK% (5.43e-03)
width (5.14e-03)
out (3.39e-03)
unsafe (3.23e-03)
string (3.10e-03)
message (2.72e-03)
at (2.03e-03)
<SENTENCE_START>
{
system
.
out
.
println
(
name
)
;
viewport
.
update
(
width
,
height
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
system
.
out
.
println
(
name
)
;
viewport
.
update
(
width
,
height
)
;
}
<SENTENCE_END/>
disposedisposedraw (2.81e-01)
end (1.76e-01)
begin (1.18e-01)
set (1.01e-01)
render (7.71e-02)
bind (2.19e-02)
texture (2.07e-02)
flush (1.50e-02)
clear (1.49e-02)
apply (1.43e-02)
<SENTENCE_START>
{
texture
.
%SELF%
(
)
;
batch
.
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
texture
.
%SELF%
(
)
;
batch
.
%SELF%
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.46e-01)
region (3.30e-03)
end (3.15e-03)
render (3.11e-03)
texture (2.77e-03)
draw (2.13e-03)
layout (1.78e-03)
debug (1.39e-03)
atlas (1.27e-03)
begin (1.24e-03)
<SENTENCE_START>
{
texture
.
%SELF%
(
)
;
batch
.
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
texture
.
%SELF%
(
)
;
batch
.
%SELF%
(
)
;
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
set,user,valuesetset (9.85e-01)
user (3.59e-03)
value (2.86e-03)
bridge (2.69e-03)
object (1.60e-03)
collision (1.19e-03)
gdx (8.24e-04)
jni (2.50e-04)
c (1.09e-04)
swig (1.05e-04)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
useruser (9.51e-01)
bridge (3.50e-02)
collision (3.91e-03)
%END% (3.23e-03)
gdx (3.16e-03)
value (2.85e-03)
object (9.62e-04)
swig (6.61e-06)
set (4.16e-06)
c (3.80e-06)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
valuevalue (6.80e-01)
user (2.99e-01)
bridge (8.25e-03)
%END% (4.77e-03)
object (4.68e-03)
collision (2.82e-03)
set (3.68e-04)
gdx (1.48e-04)
jni (1.04e-05)
c (1.03e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (6.06e-01)
value (3.61e-01)
set (2.76e-02)
user (4.14e-03)
bridge (1.96e-04)
object (1.40e-04)
collision (7.10e-05)
swig (3.58e-05)
c (3.20e-05)
jni (2.65e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
user
value
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
get,user,valuegetget (9.86e-01)
user (3.52e-03)
bridge (2.56e-03)
value (2.55e-03)
object (1.61e-03)
collision (1.08e-03)
gdx (6.92e-04)
return (2.70e-04)
jni (1.75e-04)
c (1.28e-04)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
useruser (9.65e-01)
bridge (2.63e-02)
%END% (2.61e-03)
value (2.37e-03)
collision (1.60e-03)
gdx (1.33e-03)
object (5.58e-04)
get (1.63e-05)
swig (8.31e-06)
return (6.08e-06)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
valuevalue (7.12e-01)
user (2.77e-01)
bridge (4.77e-03)
%END% (2.69e-03)
object (2.28e-03)
collision (1.19e-03)
get (4.39e-04)
gdx (5.64e-05)
c (1.27e-05)
ptr (1.16e-05)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (5.93e-01)
value (3.68e-01)
get (3.46e-02)
user (3.36e-03)
bridge (1.51e-04)
object (1.24e-04)
collision (6.95e-05)
c (5.42e-05)
valid (4.09e-05)
swig (3.86e-05)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
user
value
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
set,contact,callback,flagsetset (9.75e-01)
flag (1.04e-02)
callback (3.65e-03)
bridge (2.87e-03)
object (2.72e-03)
contact (2.30e-03)
collision (1.08e-03)
gdx (4.22e-04)
jni (1.39e-04)
c (7.47e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
contactcontact (8.16e-01)
bridge (1.61e-01)
callback (1.57e-02)
%END% (3.75e-03)
object (1.64e-03)
flag (6.03e-04)
collision (4.54e-04)
gdx (1.87e-04)
set (7.70e-05)
ref (1.83e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
callbackcallback (7.11e-01)
contact (2.57e-01)
flag (2.70e-02)
bridge (3.11e-03)
%END% (1.73e-03)
object (3.38e-04)
collision (2.74e-04)
set (6.22e-05)
gdx (3.99e-05)
jni (1.64e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
flagflag (6.18e-01)
%END% (2.93e-01)
callback (5.51e-02)
set (2.97e-02)
contact (1.22e-03)
collision (2.79e-04)
jni (1.58e-04)
bridge (1.27e-04)
object (1.23e-04)
c (9.36e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (8.74e-01)
flag (8.97e-02)
set (3.14e-02)
callback (1.42e-03)
collision (1.26e-04)
swig (1.06e-04)
c (1.04e-04)
%UNK% (1.03e-04)
jni (9.53e-05)
value (9.02e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
get,contact,callback,flaggetget (9.79e-01)
flag (9.47e-03)
callback (3.19e-03)
bridge (2.14e-03)
object (1.95e-03)
contact (1.76e-03)
collision (7.26e-04)
gdx (2.66e-04)
return (1.72e-04)
jni (1.07e-04)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
contactcontact (8.70e-01)
bridge (9.88e-02)
callback (2.32e-02)
%END% (4.31e-03)
flag (1.26e-03)
object (9.43e-04)
collision (3.02e-04)
get (2.45e-04)
gdx (2.06e-04)
solve (4.71e-05)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
callbackcallback (7.74e-01)
contact (1.92e-01)
flag (3.01e-02)
bridge (1.70e-03)
%END% (1.31e-03)
object (2.08e-04)
collision (1.63e-04)
get (9.12e-05)
jni (2.42e-05)
gdx (2.23e-05)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
flagflag (5.77e-01)
%END% (3.30e-01)
get (4.68e-02)
callback (4.20e-02)
contact (9.06e-04)
collision (2.96e-04)
jni (2.06e-04)
c (1.71e-04)
ptr (1.64e-04)
object (1.35e-04)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (8.76e-01)
flag (7.34e-02)
get (4.41e-02)
callback (1.07e-03)
c (2.30e-04)
%UNK% (1.53e-04)
collision (1.43e-04)
swig (1.42e-04)
ptr (1.18e-04)
jni (1.01e-04)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
flag
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
set,contact,callback,filtersetset (9.83e-01)
filter (7.11e-03)
callback (2.46e-03)
object (1.69e-03)
bridge (1.55e-03)
contact (1.33e-03)
collision (9.15e-04)
gdx (3.78e-04)
jni (1.38e-04)
c (9.34e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
contactcontact (7.95e-01)
bridge (1.62e-01)
callback (3.08e-02)
%END% (4.82e-03)
object (3.04e-03)
filter (1.92e-03)
collision (1.32e-03)
gdx (4.41e-04)
set (1.36e-04)
ref (2.55e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
callbackcallback (7.09e-01)
contact (2.37e-01)
filter (4.71e-02)
bridge (4.07e-03)
%END% (2.07e-03)
object (5.69e-04)
collision (4.81e-04)
set (1.19e-04)
gdx (5.74e-05)
jni (1.95e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
filterfilter (6.01e-01)
%END% (3.21e-01)
callback (4.34e-02)
set (3.17e-02)
contact (9.72e-04)
collision (2.88e-04)
jni (1.44e-04)
object (1.28e-04)
bridge (1.16e-04)
c (8.85e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
%END%%END% (8.77e-01)
filter (8.90e-02)
set (2.98e-02)
callback (1.35e-03)
collision (1.28e-04)
%UNK% (1.13e-04)
c (1.03e-04)
swig (9.94e-05)
value (9.05e-05)
jni (8.93e-05)
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
set
(
swig
c
ptr
,
this
,
value
)
;
}
<SENTENCE_END/>
get,contact,callback,filtergetget (9.83e-01)
filter (7.77e-03)
callback (2.54e-03)
object (1.44e-03)
bridge (1.36e-03)
contact (1.16e-03)
collision (7.76e-04)
gdx (2.90e-04)
return (2.07e-04)
jni (1.28e-04)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
contactcontact (8.19e-01)
bridge (1.21e-01)
callback (4.54e-02)
%END% (5.61e-03)
filter (4.92e-03)
object (1.94e-03)
collision (8.07e-04)
get (5.11e-04)
gdx (5.09e-04)
ref (6.73e-05)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
callbackcallback (7.70e-01)
contact (1.73e-01)
filter (5.27e-02)
bridge (2.41e-03)
%END% (1.49e-03)
object (3.57e-04)
collision (2.56e-04)
get (1.78e-04)
gdx (3.13e-05)
jni (2.88e-05)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
filterfilter (5.53e-01)
%END% (3.62e-01)
get (4.82e-02)
callback (3.28e-02)
contact (6.78e-04)
collision (3.12e-04)
jni (1.94e-04)
c (1.78e-04)
ptr (1.55e-04)
object (1.42e-04)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (8.75e-01)
filter (7.65e-02)
get (4.28e-02)
callback (1.04e-03)
c (2.46e-04)
%UNK% (1.60e-04)
collision (1.56e-04)
swig (1.43e-04)
ptr (1.21e-04)
jni (1.05e-04)
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
gdx
collision
object
bridge
contact
callback
filter
get
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
readreadinput (2.94e-01)
read (2.71e-01)
get (1.26e-01)
initialize (4.47e-02)
process (2.29e-02)
skip (1.95e-02)
compare (1.67e-02)
init (1.43e-02)
reset (1.20e-02)
previous (9.62e-03)
<SENTENCE_START>
{
if
(
input
==
null
)
{
input
=
new
ogg
input
stream
(
file
.
%SELF%
(
)
,
previous
input
)
;
setup
(
input
.
get
channels
(
)
,
input
.
get
sample
rate
(
)
)
;
previous
input
=
null
;
}
return
input
.
%SELF%
(
buffer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
input
==
null
)
{
input
=
new
ogg
input
stream
(
file
.
%SELF%
(
)
,
previous
input
)
;
setup
(
input
.
get
channels
(
)
,
input
.
get
sample
rate
(
)
)
;
previous
input
=
null
;
}
return
input
.
%SELF%
(
buffer
)
;
}
<SENTENCE_END/>
%END%%END% (6.38e-01)
input (5.80e-02)
%UNK% (1.88e-02)
read (1.86e-02)
previous (1.30e-02)
buffer (8.87e-03)
string (7.45e-03)
process (7.07e-03)
file (6.20e-03)
get (5.76e-03)
<SENTENCE_START>
{
if
(
input
==
null
)
{
input
=
new
ogg
input
stream
(
file
.
%SELF%
(
)
,
previous
input
)
;
setup
(
input
.
get
channels
(
)
,
input
.
get
sample
rate
(
)
)
;
previous
input
=
null
;
}
return
input
.
%SELF%
(
buffer
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
input
==
null
)
{
input
=
new
ogg
input
stream
(
file
.
%SELF%
(
)
,
previous
input
)
;
setup
(
input
.
get
channels
(
)
,
input
.
get
sample
rate
(
)
)
;
previous
input
=
null
;
}
return
input
.
%SELF%
(
buffer
)
;
}
<SENTENCE_END/>
resetresetreset (7.34e-01)
input (9.66e-02)
previous (2.23e-02)
read (2.22e-02)
replace (1.83e-02)
close (1.44e-02)
process (9.98e-03)
init (8.32e-03)
initialize (5.15e-03)
skip (4.89e-03)
<SENTENCE_START>
{
stream
utils
.
close
quietly
(
input
)
;
previous
input
=
null
;
input
=
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
stream
utils
.
close
quietly
(
input
)
;
previous
input
=
null
;
input
=
null
;
}
<SENTENCE_END/>
%END%%END% (8.95e-01)
input (3.00e-02)
reset (3.76e-03)
previous (3.73e-03)
read (2.92e-03)
utf (2.79e-03)
directory (2.70e-03)
bytes (2.68e-03)
modified (2.45e-03)
disconnect (2.17e-03)
<SENTENCE_START>
{
stream
utils
.
close
quietly
(
input
)
;
previous
input
=
null
;
input
=
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
stream
utils
.
close
quietly
(
input
)
;
previous
input
=
null
;
input
=
null
;
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
sizesizesize (8.92e-01)
add (2.50e-02)
array (2.31e-02)
all (8.36e-03)
truncate (8.17e-03)
with (4.66e-03)
const (3.12e-03)
clear (2.96e-03)
preferred (2.31e-03)
ensure (2.21e-03)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
size
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
size
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%array (6.17e-01)
size (1.94e-01)
%END% (1.85e-01)
all (6.77e-04)
const (6.52e-04)
collision (4.45e-04)
with (1.02e-04)
this (9.99e-05)
object (6.87e-05)
return (6.47e-05)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
size
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
size
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
atat%END% (7.69e-01)
at (5.86e-02)
array (5.79e-02)
wrap (1.83e-02)
to (1.10e-02)
const (9.52e-03)
with (8.22e-03)
object (5.88e-03)
get (5.12e-03)
collision (3.18e-03)
<SENTENCE_START>
{
return
bt
collision
object
.
get
instance
(
collision
jni
.
bt
collision
object
const
array
at
swig
0
(
swig
c
ptr
,
this
,
n
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
collision
object
.
get
instance
(
collision
jni
.
bt
collision
object
const
array
at
swig
0
(
swig
c
ptr
,
this
,
n
)
,
false
)
;
}
<SENTENCE_END/>
%END%at (5.50e-01)
array (3.36e-01)
%END% (1.09e-01)
instance (7.86e-04)
collision (6.48e-04)
const (6.40e-04)
bt (3.82e-04)
object (3.37e-04)
get (2.54e-04)
0 (1.97e-04)
<SENTENCE_START>
{
return
bt
collision
object
.
get
instance
(
collision
jni
.
bt
collision
object
const
array
at
swig
0
(
swig
c
ptr
,
this
,
n
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
bt
collision
object
.
get
instance
(
collision
jni
.
bt
collision
object
const
array
at
swig
0
(
swig
c
ptr
,
this
,
n
)
,
false
)
;
}
<SENTENCE_END/>
clearclearclear (9.85e-01)
array (1.06e-02)
const (2.14e-03)
object (6.03e-04)
collision (4.03e-04)
jni (1.38e-04)
ptr (1.11e-04)
c (1.08e-04)
bt (9.13e-05)
this (7.78e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
clear
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
clear
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%array (8.51e-01)
%END% (1.28e-01)
clear (1.53e-02)
all (2.84e-03)
const (1.37e-03)
with (8.88e-05)
this (7.55e-05)
fv (5.57e-05)
swig (5.22e-05)
collision (4.13e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
clear
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
clear
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
pop,backpoppop (9.60e-01)
back (2.36e-02)
array (1.22e-02)
const (9.94e-04)
collision (4.14e-04)
object (2.73e-04)
jni (1.72e-04)
ptr (1.65e-04)
c (1.49e-04)
swig (9.53e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
pop
back
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
pop
back
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
backback (9.20e-01)
%END% (4.35e-02)
pop (3.54e-02)
array (2.39e-04)
collision (3.75e-05)
this (1.34e-05)
c (8.34e-06)
ptr (7.77e-06)
jni (7.62e-06)
%UNK% (5.61e-06)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
pop
back
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
pop
back
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (9.07e-01)
back (8.95e-02)
pop (5.03e-04)
array (1.42e-04)
fv (6.34e-05)
object (5.14e-05)
all (4.73e-05)
endian (3.54e-05)
%UNK% (3.15e-05)
2 (2.73e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
pop
back
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
pop
back
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
resize,no,initializeresizeinitialize (7.17e-01)
resize (2.57e-01)
array (6.92e-03)
no (6.41e-03)
add (4.94e-03)
const (1.70e-03)
create (9.16e-04)
run (8.99e-04)
object (6.87e-04)
collision (3.27e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
noresize (7.92e-01)
no (1.10e-01)
array (8.60e-02)
%END% (1.20e-02)
initialize (2.33e-04)
const (1.81e-04)
newsize (7.21e-05)
collision (2.64e-05)
jni (4.55e-06)
c (4.32e-06)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
initializeno (7.95e-01)
initialize (1.71e-01)
resize (2.25e-02)
%END% (1.11e-02)
array (2.37e-04)
newsize (1.23e-05)
collision (1.20e-05)
jni (7.99e-06)
ptr (6.68e-06)
c (3.51e-06)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
%END%%END% (8.70e-01)
initialize (1.21e-01)
no (5.34e-03)
resize (6.57e-05)
array (6.20e-05)
%UNK% (3.32e-05)
all (3.16e-05)
fv (3.08e-05)
collision (2.83e-05)
swig (2.35e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
no
initialize
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
resizeresizeresize (9.53e-01)
array (1.99e-02)
const (4.99e-03)
object (2.54e-03)
collision (2.10e-03)
swig (1.22e-03)
c (1.07e-03)
fill (9.39e-04)
ptr (9.13e-04)
0 (8.91e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
0
(
swig
c
ptr
,
this
,
newsize
,
bt
collision
object
.
get
c
ptr
(
fill
data
)
,
fill
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
0
(
swig
c
ptr
,
this
,
newsize
,
bt
collision
object
.
get
c
ptr
(
fill
data
)
,
fill
data
)
;
}
<SENTENCE_END/>
%END%resize (4.79e-01)
%END% (2.57e-01)
array (2.51e-01)
c (2.77e-03)
0 (9.36e-04)
fill (6.45e-04)
get (5.59e-04)
newsize (5.55e-04)
swig (3.78e-04)
collision (3.69e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
0
(
swig
c
ptr
,
this
,
newsize
,
bt
collision
object
.
get
c
ptr
(
fill
data
)
,
fill
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
0
(
swig
c
ptr
,
this
,
newsize
,
bt
collision
object
.
get
c
ptr
(
fill
data
)
,
fill
data
)
;
}
<SENTENCE_END/>
resizeresizeresize (9.58e-01)
array (2.81e-02)
const (5.17e-03)
object (1.51e-03)
collision (9.61e-04)
swig (5.38e-04)
jni (3.67e-04)
1 (3.54e-04)
newsize (2.74e-04)
c (2.61e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
1
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
1
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
%END%resize (5.00e-01)
%END% (2.54e-01)
array (2.40e-01)
newsize (1.72e-03)
const (3.30e-04)
1 (2.62e-04)
collision (2.40e-04)
swig (1.70e-04)
c (1.42e-04)
jni (7.22e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
1
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
resize
swig
1
(
swig
c
ptr
,
this
,
newsize
)
;
}
<SENTENCE_END/>
expand,non,initializingexpandexpand (9.34e-01)
array (4.13e-02)
non (1.59e-02)
const (3.25e-03)
initializing (2.84e-03)
object (6.50e-04)
p (3.33e-04)
collision (2.40e-04)
swigtype (1.65e-04)
new (1.51e-04)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
nonexpand (4.94e-01)
non (4.62e-01)
array (2.92e-02)
%END% (9.23e-03)
initializing (5.34e-03)
const (1.03e-04)
all (4.02e-05)
%UNK% (3.91e-05)
collision (3.21e-05)
p (3.18e-05)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
initializinginitializing (9.25e-01)
non (5.98e-02)
%END% (1.24e-02)
expand (1.49e-03)
array (1.84e-04)
collision (1.40e-05)
bt (1.25e-05)
p (1.09e-05)
jni (9.67e-06)
%UNK% (9.09e-06)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
%END%%END% (9.19e-01)
initializing (6.52e-02)
%UNK% (5.42e-04)
bt (4.68e-04)
non (3.14e-04)
array (2.77e-04)
endian (2.59e-04)
object (1.67e-04)
2 (1.21e-04)
all (1.14e-04)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
non
initializing
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
expandexpandexpand (9.14e-01)
array (3.30e-02)
const (7.41e-03)
add (5.22e-03)
object (3.92e-03)
collision (3.12e-03)
p (2.18e-03)
fill (1.70e-03)
bt (1.64e-03)
swig (1.44e-03)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
0
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
fill
value
)
,
fill
value
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
0
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
fill
value
)
,
fill
value
)
,
false
)
;
}
<SENTENCE_END/>
%END%expand (4.18e-01)
%END% (3.86e-01)
array (1.68e-01)
c (2.43e-03)
0 (2.20e-03)
collision (1.96e-03)
p (1.66e-03)
bt (1.49e-03)
swig (1.16e-03)
fill (8.66e-04)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
0
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
fill
value
)
,
fill
value
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
0
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
fill
value
)
,
fill
value
)
,
false
)
;
}
<SENTENCE_END/>
expandexpandexpand (9.23e-01)
array (4.92e-02)
const (8.19e-03)
object (2.88e-03)
p (1.78e-03)
collision (1.68e-03)
swigtype (9.98e-04)
new (8.89e-04)
swig (8.62e-04)
bt (7.25e-04)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
1
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
1
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
%END%expand (5.80e-01)
%END% (2.78e-01)
array (1.27e-01)
p (1.05e-03)
%UNK% (7.86e-04)
swig (6.32e-04)
bt (5.46e-04)
collision (5.38e-04)
const (4.23e-04)
new (2.69e-04)
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
1
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
new
swigtype
p
p
bt
collision
object
(
collision
jni
.
bt
collision
object
const
array
expand
swig
1
(
swig
c
ptr
,
this
)
,
false
)
;
}
<SENTENCE_END/>
push,backpushpush (9.36e-01)
array (2.76e-02)
back (2.38e-02)
const (3.98e-03)
object (1.16e-03)
collision (8.23e-04)
c (7.24e-04)
ptr (6.24e-04)
bt (3.52e-04)
get (3.40e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
push
back
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
val
)
,
val
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
push
back
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
val
)
,
val
)
;
}
<SENTENCE_END/>
backpush (6.85e-01)
back (2.16e-01)
array (7.25e-02)
%END% (2.58e-02)
const (1.77e-04)
c (1.73e-04)
collision (9.89e-05)
bt (8.12e-05)
val (7.02e-05)
get (5.34e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
push
back
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
val
)
,
val
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
push
back
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
val
)
,
val
)
;
}
<SENTENCE_END/>
%END%%END% (5.46e-01)
back (4.36e-01)
push (1.03e-02)
ptr (1.70e-04)
bt (1.36e-04)
array (1.12e-04)
c (8.74e-05)
%UNK% (7.58e-05)
endian (7.42e-05)
object (7.28e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
push
back
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
val
)
,
val
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
push
back
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
val
)
,
val
)
;
}
<SENTENCE_END/>
capacitycapacitycapacity (9.72e-01)
array (9.69e-03)
const (3.99e-03)
object (1.71e-03)
collision (1.53e-03)
ensure (1.42e-03)
%END% (1.24e-03)
return (9.03e-04)
allocate (7.50e-04)
all (5.26e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
capacity
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
capacity
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
%END%%END% (3.75e-01)
array (3.12e-01)
capacity (3.07e-01)
collision (2.07e-03)
const (6.90e-04)
this (2.57e-04)
return (1.68e-04)
all (1.17e-04)
ptr (1.03e-04)
c (9.81e-05)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
capacity
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
capacity
(
swig
c
ptr
,
this
)
;
}
<SENTENCE_END/>
reservereservereserve (9.38e-01)
array (3.14e-02)
const (6.70e-03)
object (3.62e-03)
collision (1.99e-03)
parallel (1.94e-03)
this (1.36e-03)
swig (6.84e-04)
count (5.93e-04)
jni (5.55e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
reserve
(
swig
c
ptr
,
this
,
count
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
reserve
(
swig
c
ptr
,
this
,
count
)
;
}
<SENTENCE_END/>
%END%%END% (6.80e-01)
reserve (2.69e-01)
array (2.09e-02)
count (4.36e-03)
swig (2.53e-03)
c (1.43e-03)
collision (8.71e-04)
this (7.72e-04)
all (2.53e-04)
const (1.95e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
reserve
(
swig
c
ptr
,
this
,
count
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
reserve
(
swig
c
ptr
,
this
,
count
)
;
}
<SENTENCE_END/>
get,c,ptrgetget (9.83e-01)
c (4.72e-03)
obj (1.88e-03)
swig (1.36e-03)
is (8.93e-04)
return (8.85e-04)
ptr (5.54e-04)
0 (3.63e-04)
null (3.14e-04)
obtain (2.82e-04)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
cc (9.96e-01)
ptr (2.00e-03)
get (1.04e-03)
%END% (8.72e-04)
swig (1.90e-04)
instance (1.07e-04)
overlaps (3.51e-05)
derived (2.62e-05)
match (7.06e-06)
is (6.12e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
ptrptr (9.96e-01)
c (2.15e-03)
%END% (1.61e-03)
obj (1.88e-05)
0 (6.12e-06)
get (6.07e-06)
return (5.61e-06)
string (2.74e-06)
instance (2.57e-06)
swig (2.31e-06)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
%END%%END% (9.61e-01)
ptr (3.23e-02)
obj (8.25e-04)
c (4.05e-04)
return (2.33e-04)
string (2.06e-04)
double (1.33e-04)
at (1.02e-04)
0 (9.89e-05)
swig (5.39e-05)
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
(
obj
==
null
)
?
0
:
obj
.
swig
c
ptr
;
}
<SENTENCE_END/>
swapswapswap (9.60e-01)
array (2.19e-02)
const (4.69e-03)
index (2.19e-03)
object (1.68e-03)
0 (1.19e-03)
collision (1.08e-03)
this (4.39e-04)
c (4.06e-04)
jni (3.66e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
swap
(
swig
c
ptr
,
this
,
index
0
,
index
1
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
swap
(
swig
c
ptr
,
this
,
index
0
,
index
1
)
;
}
<SENTENCE_END/>
%END%array (4.32e-01)
%END% (3.58e-01)
swap (1.93e-01)
index (1.58e-03)
%UNK% (1.31e-03)
const (1.17e-03)
all (6.03e-04)
at (5.20e-04)
of (4.60e-04)
collision (4.24e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
swap
(
swig
c
ptr
,
this
,
index
0
,
index
1
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
swap
(
swig
c
ptr
,
this
,
index
0
,
index
1
)
;
}
<SENTENCE_END/>
find,binary,searchfindfind (9.47e-01)
binary (3.11e-02)
array (1.51e-02)
search (3.28e-03)
const (1.19e-03)
object (3.21e-04)
collision (2.77e-04)
c (2.51e-04)
ptr (1.93e-04)
key (1.53e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
binarybinary (9.02e-01)
find (9.19e-02)
search (2.64e-03)
%END% (1.76e-03)
array (9.78e-04)
get (4.10e-05)
const (1.41e-05)
%UNK% (1.38e-05)
key (1.18e-05)
collision (1.03e-05)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
searchsearch (9.15e-01)
binary (7.47e-02)
%END% (9.15e-03)
find (3.90e-04)
array (1.89e-05)
ptr (8.94e-06)
c (7.24e-06)
collision (6.97e-06)
object (5.45e-06)
get (5.29e-06)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
%END%%END% (8.56e-01)
search (1.33e-01)
binary (8.94e-04)
get (5.25e-04)
%UNK% (4.47e-04)
bt (2.83e-04)
object (2.41e-04)
instance (2.23e-04)
key (2.13e-04)
array (1.56e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
binary
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
find,linear,searchfindfind (9.56e-01)
linear (2.30e-02)
array (1.51e-02)
search (2.42e-03)
const (9.29e-04)
object (2.71e-04)
collision (2.53e-04)
c (2.48e-04)
ptr (1.82e-04)
key (1.41e-04)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
linearlinear (9.04e-01)
find (9.08e-02)
search (2.32e-03)
%END% (1.91e-03)
array (1.00e-03)
get (9.11e-05)
%UNK% (1.53e-05)
bt (1.25e-05)
const (1.24e-05)
key (1.14e-05)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
searchsearch (9.27e-01)
linear (6.07e-02)
%END% (1.21e-02)
find (2.66e-04)
array (1.63e-05)
ptr (9.18e-06)
c (7.11e-06)
bt (7.04e-06)
collision (6.43e-06)
get (6.09e-06)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
%END%%END% (4.97e-01)
search (4.92e-01)
linear (3.94e-03)
bt (2.71e-04)
get (2.59e-04)
%UNK% (2.18e-04)
instance (1.51e-04)
object (1.13e-04)
key (9.55e-05)
array (7.80e-05)
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
collision
jni
.
bt
collision
object
const
array
find
linear
search
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
removeremoveremove (9.61e-01)
array (2.31e-02)
const (4.34e-03)
object (2.01e-03)
collision (1.53e-03)
bt (9.29e-04)
c (8.25e-04)
ptr (7.87e-04)
key (4.99e-04)
get (3.04e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
remove
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
remove
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
%END%%END% (4.33e-01)
array (3.23e-01)
remove (2.21e-01)
collision (3.19e-03)
const (2.76e-03)
c (2.76e-03)
bt (2.66e-03)
key (1.29e-03)
object (8.09e-04)
swig (6.90e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
remove
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
remove
(
swig
c
ptr
,
this
,
bt
collision
object
.
get
c
ptr
(
key
)
,
key
)
;
}
<SENTENCE_END/>
initialize,from,bufferinitializeinitialize (9.69e-01)
array (1.06e-02)
from (9.60e-03)
buffer (3.17e-03)
const (2.58e-03)
object (7.48e-04)
collision (4.53e-04)
c (2.88e-04)
size (2.69e-04)
swig (1.95e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
fromfrom (5.59e-01)
initialize (3.98e-01)
array (3.39e-02)
%END% (6.70e-03)
buffer (1.53e-03)
const (3.63e-04)
collision (1.71e-05)
c (1.30e-05)
all (8.72e-06)
ptr (8.13e-06)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
bufferbuffer (7.12e-01)
from (2.70e-01)
%END% (9.96e-03)
initialize (7.47e-03)
array (3.94e-04)
size (2.41e-05)
collision (2.10e-05)
jni (1.39e-05)
ptr (1.19e-05)
const (7.69e-06)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
%END%%END% (5.65e-01)
buffer (4.24e-01)
from (6.63e-03)
initialize (1.24e-04)
all (1.10e-04)
array (9.89e-05)
size (6.52e-05)
capacity (5.89e-05)
%UNK% (4.93e-05)
collision (3.04e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
initialize
from
buffer
(
swig
c
ptr
,
this
,
buffer
,
size
,
capacity
)
;
}
<SENTENCE_END/>
copy,from,arraycopycopy (9.62e-01)
array (1.49e-02)
from (6.97e-03)
with (4.15e-03)
const (2.09e-03)
as (1.04e-03)
object (8.97e-04)
duplicate (8.76e-04)
collision (8.11e-04)
other (4.95e-04)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
fromfrom (5.89e-01)
copy (3.70e-01)
%END% (2.48e-02)
array (1.43e-02)
collision (1.35e-04)
c (1.27e-04)
const (1.25e-04)
with (6.51e-05)
bt (4.79e-05)
object (4.24e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
arrayarray (6.83e-01)
from (2.93e-01)
%END% (1.75e-02)
copy (5.61e-03)
ptr (9.55e-05)
c (8.53e-05)
collision (7.05e-05)
object (5.63e-05)
const (2.97e-05)
jni (2.36e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
%END%%END% (6.83e-01)
array (3.09e-01)
from (2.61e-03)
all (2.06e-04)
ptr (1.49e-04)
fv (1.39e-04)
object (9.44e-05)
to (8.41e-05)
with (7.65e-05)
bt (7.12e-05)
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
collision
jni
.
bt
collision
object
const
array
copy
from
array
(
swig
c
ptr
,
this
,
bt
collision
object
const
array
.
get
c
ptr
(
other
array
)
,
other
array
)
;
}
<SENTENCE_END/>
clampclampget (5.47e-01)
clamp (2.90e-01)
is (3.34e-02)
fill (7.59e-03)
calculate (7.01e-03)
lerp (6.91e-03)
update (5.73e-03)
percent (5.16e-03)
compute (3.85e-03)
fast (3.65e-03)
<SENTENCE_START>
{
return
v
<
0f
?
0f
:
(
v
>
1f
?
1f
:
v
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
v
<
0f
?
0f
:
(
v
>
1f
?
1f
:
v
)
;
}
<SENTENCE_END/>
%END%line (1.50e-01)
%END% (1.29e-01)
y (4.49e-02)
v (4.09e-02)
fill (3.67e-02)
get (2.78e-02)
clamp (2.76e-02)
relative (2.08e-02)
by (1.98e-02)
percent (1.73e-02)
<SENTENCE_START>
{
return
v
<
0f
?
0f
:
(
v
>
1f
?
1f
:
v
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
v
<
0f
?
0f
:
(
v
>
1f
?
1f
:
v
)
;
}
<SENTENCE_END/>
setsetget (2.24e-01)
find (6.99e-02)
clear (4.55e-02)
set (4.21e-02)
generate (2.73e-02)
balance (2.54e-02)
index (2.48e-02)
reverse (2.24e-02)
update (2.09e-02)
i (2.01e-02)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
values
[
i
]
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
values
[
i
]
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (8.03e-01)
of (2.72e-02)
get (1.33e-02)
value (1.24e-02)
data (7.11e-03)
i (6.98e-03)
index (6.20e-03)
this (4.57e-03)
array (3.67e-03)
attribute (3.07e-03)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
values
[
i
]
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
values
[
i
]
;
return
this
;
}
<SENTENCE_END/>
setsetequals (3.41e-01)
same (3.36e-01)
set (2.20e-01)
copy (4.72e-02)
compare (1.62e-02)
contains (8.86e-03)
is (2.65e-03)
remove (2.37e-03)
other (2.36e-03)
close (1.47e-03)
<SENTENCE_START>
{
return
%SELF%
(
other
.
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
other
.
data
)
;
}
<SENTENCE_END/>
%END%%END% (9.79e-01)
fv (1.45e-03)
data (7.13e-04)
2 (6.83e-04)
%UNK% (6.34e-04)
equal (5.95e-04)
value (4.88e-04)
iv (4.71e-04)
and (4.57e-04)
equals (4.30e-04)
<SENTENCE_START>
{
return
%SELF%
(
other
.
data
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
other
.
data
)
;
}
<SENTENCE_END/>
setsetcolor (8.53e-01)
draw (4.30e-02)
set (2.85e-02)
get (1.13e-02)
pack (4.62e-03)
line (3.65e-03)
rect (3.59e-03)
scale (3.48e-03)
end (2.89e-03)
begin (2.71e-03)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
%END%color (8.97e-01)
%END% (5.90e-02)
draw (7.79e-03)
line (7.58e-03)
rect (4.13e-03)
circle (3.54e-03)
triangle (2.25e-03)
b (7.02e-04)
%UNK% (6.84e-04)
set (6.60e-04)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
setsetcreate (2.90e-01)
set (1.14e-01)
reset (7.04e-02)
add (6.62e-02)
parse (4.48e-02)
extract (4.26e-02)
init (4.09e-02)
begin (3.28e-02)
load (2.72e-02)
generate (2.09e-02)
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
=
r
;
data
[
idx
++
]
=
g
;
data
[
idx
++
]
=
b
;
}
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
=
r
;
data
[
idx
++
]
=
g
;
data
[
idx
++
]
=
b
;
}
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.76e-01)
idx (2.09e-03)
data (1.22e-03)
%UNK% (9.61e-04)
b (4.97e-04)
this (4.36e-04)
left (4.25e-04)
parse (4.13e-04)
2 (3.26e-04)
return (3.24e-04)
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
=
r
;
data
[
idx
++
]
=
g
;
data
[
idx
++
]
=
b
;
}
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
=
r
;
data
[
idx
++
]
=
g
;
data
[
idx
++
]
=
b
;
}
return
this
;
}
<SENTENCE_END/>
get,colorgetget (2.38e-01)
%UNK% (8.49e-02)
create (8.47e-02)
set (6.68e-02)
triangle (2.92e-02)
mul (2.71e-02)
trim (2.61e-02)
calculate (2.39e-02)
side (2.25e-02)
write (1.71e-02)
<SENTENCE_START>
{
side
*=
3
;
return
out
.
set
(
data
[
side
]
,
data
[
side
+
1
]
,
data
[
side
+
2
]
,
1f
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
side
*=
3
;
return
out
.
set
(
data
[
side
]
,
data
[
side
+
1
]
,
data
[
side
+
2
]
,
1f
)
;
}
<SENTENCE_END/>
color%END% (2.86e-01)
side (1.72e-01)
get (4.66e-02)
%UNK% (4.58e-02)
line (2.66e-02)
triangle (1.95e-02)
2 (1.62e-02)
data (1.37e-02)
frustum (1.32e-02)
vertex (1.10e-02)
<SENTENCE_START>
{
side
*=
3
;
return
out
.
set
(
data
[
side
]
,
data
[
side
+
1
]
,
data
[
side
+
2
]
,
1f
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
side
*=
3
;
return
out
.
set
(
data
[
side
]
,
data
[
side
+
1
]
,
data
[
side
+
2
]
,
1f
)
;
}
<SENTENCE_END/>
%END%%END% (7.83e-01)
side (2.97e-02)
%UNK% (2.32e-02)
data (2.06e-02)
2 (8.22e-03)
vertex (5.20e-03)
3 (4.92e-03)
triangle (4.65e-03)
get (4.50e-03)
matrix (3.55e-03)
<SENTENCE_START>
{
side
*=
3
;
return
out
.
set
(
data
[
side
]
,
data
[
side
+
1
]
,
data
[
side
+
2
]
,
1f
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
side
*=
3
;
return
out
.
set
(
data
[
side
]
,
data
[
side
+
1
]
,
data
[
side
+
2
]
,
1f
)
;
}
<SENTENCE_END/>
clearclearset (5.29e-01)
reset (2.87e-01)
get (3.56e-02)
clear (2.06e-02)
update (1.97e-02)
loop (1.73e-02)
load (1.20e-02)
init (1.08e-02)
switch (5.78e-03)
bind (4.76e-03)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
0f
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
0f
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (8.65e-01)
i (9.89e-03)
of (8.43e-03)
get (6.94e-03)
data (6.61e-03)
value (5.74e-03)
0f (5.15e-03)
index (3.69e-03)
int (2.60e-03)
length (1.92e-03)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
0f
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
0f
;
return
this
;
}
<SENTENCE_END/>
clampclampget (4.08e-01)
clear (3.35e-02)
set (3.34e-02)
update (2.82e-02)
extend (2.31e-02)
for (2.25e-02)
index (1.68e-02)
find (1.53e-02)
%UNK% (1.48e-02)
calculate (1.45e-02)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
%SELF%
(
data
[
i
]
)
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
%SELF%
(
data
[
i
]
)
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (8.92e-01)
data (7.86e-03)
of (6.65e-03)
value (4.93e-03)
i (4.13e-03)
this (3.00e-03)
index (2.88e-03)
get (2.50e-03)
attribute (1.91e-03)
%UNK% (1.89e-03)
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
%SELF%
(
data
[
i
]
)
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++
)
data
[
i
]
=
%SELF%
(
data
[
i
]
)
;
return
this
;
}
<SENTENCE_END/>
addaddadd (5.80e-01)
create (2.33e-01)
%UNK% (2.14e-02)
translate (1.83e-02)
write (1.02e-02)
trn (9.96e-03)
parse (9.65e-03)
prj (7.39e-03)
pop (7.03e-03)
generate (6.99e-03)
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
+=
r
;
data
[
idx
++
]
+=
g
;
data
[
idx
++
]
+=
b
;
}
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
+=
r
;
data
[
idx
++
]
+=
g
;
data
[
idx
++
]
+=
b
;
}
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.75e-01)
%UNK% (2.07e-03)
data (1.53e-03)
idx (1.28e-03)
b (7.51e-04)
2 (4.60e-04)
4 (4.42e-04)
this (3.85e-04)
parse (3.52e-04)
return (3.33e-04)
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
+=
r
;
data
[
idx
++
]
+=
g
;
data
[
idx
++
]
+=
b
;
}
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
int
idx
=
0
;
idx
<
data
.
length
;
)
{
data
[
idx
++
]
+=
r
;
data
[
idx
++
]
+=
g
;
data
[
idx
++
]
+=
b
;
}
return
this
;
}
<SENTENCE_END/>
addaddcolor (8.53e-01)
draw (4.30e-02)
set (2.85e-02)
get (1.13e-02)
pack (4.62e-03)
line (3.65e-03)
rect (3.59e-03)
scale (3.48e-03)
end (2.89e-03)
begin (2.71e-03)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
%END%color (8.97e-01)
%END% (5.90e-02)
draw (7.79e-03)
line (7.58e-03)
rect (4.13e-03)
circle (3.54e-03)
triangle (2.25e-03)
b (7.02e-04)
%UNK% (6.84e-04)
set (6.60e-04)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
)
;
}
<SENTENCE_END/>
addadd%UNK% (2.36e-01)
%END% (1.73e-01)
2 (6.20e-02)
mul (4.66e-02)
add (4.59e-02)
dst (2.43e-02)
create (1.86e-02)
4 (1.35e-02)
matrix (1.31e-02)
z (1.27e-02)
<SENTENCE_START>
{
final
float
x
2
=
x
*
x
,
y
2
=
y
*
y
,
z
2
=
z
*
z
;
float
d
=
x
2
+
y
2
+
z
2
;
if
(
d
==
0f
)
return
this
;
d
=
1f
/
d
*
(
d
+
1f
)
;
final
float
rd
=
r
*
d
,
gd
=
g
*
d
,
bd
=
b
*
d
;
int
idx
=
x
>
0
?
0
:
3
;
data
[
idx
]
+=
x
2
*
rd
;
data
[
idx
+
1
]
+=
x
2
*
gd
;
data
[
idx
+
2
]
+=
x
2
*
bd
;
idx
=
y
>
0
?
6
:
9
;
data
[
idx
]
+=
y
2
*
rd
;
data
[
idx
+
1
]
+=
y
2
*
gd
;
data
[
idx
+
2
]
+=
y
2
*
bd
;
idx
=
z
>
0
?
12
:
15
;
data
[
idx
]
+=
z
2
*
rd
;
data
[
idx
+
1
]
+=
z
2
*
gd
;
data
[
idx
+
2
]
+=
z
2
*
bd
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
float
x
2
=
x
*
x
,
y
2
=
y
*
y
,
z
2
=
z
*
z
;
float
d
=
x
2
+
y
2
+
z
2
;
if
(
d
==
0f
)
return
this
;
d
=
1f
/
d
*
(
d
+
1f
)
;
final
float
rd
=
r
*
d
,
gd
=
g
*
d
,
bd
=
b
*
d
;
int
idx
=
x
>
0
?
0
:
3
;
data
[
idx
]
+=
x
2
*
rd
;
data
[
idx
+
1
]
+=
x
2
*
gd
;
data
[
idx
+
2
]
+=
x
2
*
bd
;
idx
=
y
>
0
?
6
:
9
;
data
[
idx
]
+=
y
2
*
rd
;
data
[
idx
+
1
]
+=
y
2
*
gd
;
data
[
idx
+
2
]
+=
y
2
*
bd
;
idx
=
z
>
0
?
12
:
15
;
data
[
idx
]
+=
z
2
*
rd
;
data
[
idx
+
1
]
+=
z
2
*
gd
;
data
[
idx
+
2
]
+=
z
2
*
bd
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (8.89e-01)
2 (3.00e-02)
%UNK% (1.34e-02)
z (2.78e-03)
x (2.51e-03)
dst (2.38e-03)
4 (2.26e-03)
matrix (1.70e-03)
left (1.69e-03)
y (1.68e-03)
<SENTENCE_START>
{
final
float
x
2
=
x
*
x
,
y
2
=
y
*
y
,
z
2
=
z
*
z
;
float
d
=
x
2
+
y
2
+
z
2
;
if
(
d
==
0f
)
return
this
;
d
=
1f
/
d
*
(
d
+
1f
)
;
final
float
rd
=
r
*
d
,
gd
=
g
*
d
,
bd
=
b
*
d
;
int
idx
=
x
>
0
?
0
:
3
;
data
[
idx
]
+=
x
2
*
rd
;
data
[
idx
+
1
]
+=
x
2
*
gd
;
data
[
idx
+
2
]
+=
x
2
*
bd
;
idx
=
y
>
0
?
6
:
9
;
data
[
idx
]
+=
y
2
*
rd
;
data
[
idx
+
1
]
+=
y
2
*
gd
;
data
[
idx
+
2
]
+=
y
2
*
bd
;
idx
=
z
>
0
?
12
:
15
;
data
[
idx
]
+=
z
2
*
rd
;
data
[
idx
+
1
]
+=
z
2
*
gd
;
data
[
idx
+
2
]
+=
z
2
*
bd
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
float
x
2
=
x
*
x
,
y
2
=
y
*
y
,
z
2
=
z
*
z
;
float
d
=
x
2
+
y
2
+
z
2
;
if
(
d
==
0f
)
return
this
;
d
=
1f
/
d
*
(
d
+
1f
)
;
final
float
rd
=
r
*
d
,
gd
=
g
*
d
,
bd
=
b
*
d
;
int
idx
=
x
>
0
?
0
:
3
;
data
[
idx
]
+=
x
2
*
rd
;
data
[
idx
+
1
]
+=
x
2
*
gd
;
data
[
idx
+
2
]
+=
x
2
*
bd
;
idx
=
y
>
0
?
6
:
9
;
data
[
idx
]
+=
y
2
*
rd
;
data
[
idx
+
1
]
+=
y
2
*
gd
;
data
[
idx
+
2
]
+=
y
2
*
bd
;
idx
=
z
>
0
?
12
:
15
;
data
[
idx
]
+=
z
2
*
rd
;
data
[
idx
+
1
]
+=
z
2
*
gd
;
data
[
idx
+
2
]
+=
z
2
*
bd
;
return
this
;
}
<SENTENCE_END/>
addaddset (4.52e-01)
color (1.75e-01)
draw (5.08e-02)
rotate (3.85e-02)
get (2.12e-02)
fill (2.00e-02)
scale (1.71e-02)
rect (1.66e-02)
line (1.48e-02)
%UNK% (1.21e-02)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
%END%%END% (8.75e-01)
color (1.73e-02)
set (1.53e-02)
circle (7.34e-03)
line (5.60e-03)
rotate (3.79e-03)
rect (3.55e-03)
from (3.53e-03)
z (3.02e-03)
rotation (2.89e-03)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
addaddset (3.79e-01)
rotate (1.86e-01)
to (3.34e-02)
mul (3.30e-02)
fill (2.47e-02)
translate (2.45e-02)
transform (2.42e-02)
%END% (2.24e-02)
ext (1.12e-02)
from (1.10e-02)
<SENTENCE_START>
{
return
%SELF%
(
r
,
g
,
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
r
,
g
,
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
%END%%END% (9.56e-01)
direction (4.13e-03)
z (3.32e-03)
rotate (2.50e-03)
rad (2.46e-03)
g (2.07e-03)
trans (1.99e-03)
around (1.93e-03)
set (1.51e-03)
rotation (1.47e-03)
<SENTENCE_START>
{
return
%SELF%
(
r
,
g
,
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
r
,
g
,
b
,
direction
.
x
,
direction
.
y
,
direction
.
z
)
;
}
<SENTENCE_END/>
addaddcolor (6.67e-01)
draw (8.29e-02)
set (6.89e-02)
rect (2.07e-02)
line (1.70e-02)
get (1.11e-02)
scale (1.00e-02)
fill (9.15e-03)
%UNK% (7.13e-03)
pack (6.52e-03)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
x
,
y
,
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
x
,
y
,
z
)
;
}
<SENTENCE_END/>
%END%%END% (5.82e-01)
color (2.30e-01)
line (3.39e-02)
rect (2.88e-02)
circle (2.19e-02)
draw (1.18e-02)
triangle (9.24e-03)
fill (4.39e-03)
rectangle (4.16e-03)
%UNK% (3.61e-03)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
x
,
y
,
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
x
,
y
,
z
)
;
}
<SENTENCE_END/>
addaddcolor (8.77e-02)
get (7.37e-02)
%UNK% (7.34e-02)
point (6.21e-02)
line (5.09e-02)
set (4.86e-02)
lerp (3.90e-02)
sub (3.76e-02)
draw (3.32e-02)
update (2.91e-02)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
%END%%END% (7.15e-01)
at (2.65e-02)
point (1.79e-02)
line (1.69e-02)
%UNK% (1.60e-02)
color (1.23e-02)
frustum (9.95e-03)
segment (7.96e-03)
triangle (7.32e-03)
circle (7.08e-03)
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
color
.
r
,
color
.
g
,
color
.
b
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
addaddget (2.64e-01)
lerp (8.36e-02)
set (6.95e-02)
distance (5.83e-02)
update (4.79e-02)
point (3.60e-02)
%UNK% (2.75e-02)
calculate (2.13e-02)
slerp (1.72e-02)
scale (1.65e-02)
<SENTENCE_START>
{
final
float
t
=
intensity
/
(
1f
+
target
.
dst
(
point
)
)
;
return
%SELF%
(
color
.
r
*
t
,
color
.
g
*
t
,
color
.
b
*
t
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
float
t
=
intensity
/
(
1f
+
target
.
dst
(
point
)
)
;
return
%SELF%
(
color
.
r
*
t
,
color
.
g
*
t
,
color
.
b
*
t
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
%END%%END% (7.09e-01)
at (2.47e-02)
point (1.86e-02)
%UNK% (1.43e-02)
segment (9.62e-03)
frustum (9.60e-03)
in (7.76e-03)
lines (7.65e-03)
line (7.59e-03)
circle (6.62e-03)
<SENTENCE_START>
{
final
float
t
=
intensity
/
(
1f
+
target
.
dst
(
point
)
)
;
return
%SELF%
(
color
.
r
*
t
,
color
.
g
*
t
,
color
.
b
*
t
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
float
t
=
intensity
/
(
1f
+
target
.
dst
(
point
)
)
;
return
%SELF%
(
color
.
r
*
t
,
color
.
g
*
t
,
color
.
b
*
t
,
target
.
x
-
point
.
x
,
target
.
y
-
point
.
y
,
target
.
z
-
point
.
z
)
;
}
<SENTENCE_END/>
get,file,handle,resolvergetresolve (6.81e-01)
get (1.29e-01)
iterator (6.77e-02)
needs (3.58e-02)
is (3.54e-02)
protected (1.38e-02)
instance (3.64e-03)
as (2.78e-03)
can (2.34e-03)
owns (1.44e-03)
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
file%END% (5.22e-01)
resolver (4.74e-01)
resolve (2.77e-03)
return (9.32e-04)
asset (1.06e-04)
file (1.91e-05)
loaded (1.06e-05)
fv (9.52e-06)
static (8.54e-06)
args (7.34e-06)
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
handle%END% (9.88e-01)
resolver (5.63e-03)
value (5.67e-04)
only (3.20e-04)
file (2.53e-04)
array (2.15e-04)
loaded (2.03e-04)
20 (1.67e-04)
fv (1.21e-04)
offset (1.13e-04)
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
resolver%END% (9.79e-01)
value (3.54e-03)
only (1.65e-03)
20 (1.31e-03)
resolver (1.24e-03)
offset (6.23e-04)
array (5.05e-04)
file (4.09e-04)
loaded (3.87e-04)
accessible (3.76e-04)
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
%END%%END% (9.76e-01)
value (3.73e-03)
resolver (2.75e-03)
only (1.75e-03)
20 (1.42e-03)
offset (6.62e-04)
array (5.25e-04)
file (4.14e-04)
accessible (4.06e-04)
loaded (3.94e-04)
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
resolver
;
}
<SENTENCE_END/>
getgetget (5.21e-01)
set (8.94e-02)
load (7.80e-02)
remove (1.64e-02)
save (1.07e-02)
asset (1.02e-02)
%UNK% (9.70e-03)
process (9.49e-03)
parse (8.57e-03)
resolve (8.53e-03)
<SENTENCE_START>
{
class
<
t
>
type
=
asset
types
.
%SELF%
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
<
t
>
type
=
asset
types
.
%SELF%
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
%END%asset (5.82e-01)
container (2.17e-01)
%END% (6.09e-02)
assets (2.73e-02)
by (2.29e-02)
type (7.95e-03)
name (5.89e-03)
counted (5.37e-03)
file (5.25e-03)
get (4.51e-03)
<SENTENCE_START>
{
class
<
t
>
type
=
asset
types
.
%SELF%
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
<
t
>
type
=
asset
types
.
%SELF%
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
getgetget (4.37e-01)
set (2.00e-01)
load (9.50e-02)
remove (2.03e-02)
asset (1.30e-02)
save (1.02e-02)
container (1.02e-02)
resolve (8.15e-03)
process (7.71e-03)
parse (7.55e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
%END%asset (6.27e-01)
container (2.18e-01)
%END% (5.16e-02)
assets (2.16e-02)
by (2.08e-02)
type (4.88e-03)
counted (4.50e-03)
get (3.62e-03)
name (3.37e-03)
file (3.14e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
%SELF%
(
type
)
;
if
(
assets
by
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
container
=
assets
by
type
.
%SELF%
(
file
name
)
;
if
(
asset
container
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
t
asset
=
asset
container
.
get
object
(
type
)
;
if
(
asset
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
asset
;
}
<SENTENCE_END/>
get,allgetget (7.30e-01)
load (4.91e-02)
find (1.52e-02)
is (1.39e-02)
has (8.20e-03)
%UNK% (8.17e-03)
parse (6.37e-03)
set (5.91e-03)
assets (5.79e-03)
reload (5.58e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
!=
null
)
{
for
(
object
map
.
entry
<
string
,
ref
counted
container
>
asset
:
assets
by
type
.
entries
(
)
)
{
out
.
add
(
asset
.
value
.
get
object
(
type
)
)
;
}
}
return
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
!=
null
)
{
for
(
object
map
.
entry
<
string
,
ref
counted
container
>
asset
:
assets
by
type
.
entries
(
)
)
{
out
.
add
(
asset
.
value
.
get
object
(
type
)
)
;
}
}
return
out
;
}
<SENTENCE_END/>
allassets (5.68e-01)
by (1.33e-01)
%END% (3.98e-02)
container (3.46e-02)
get (2.10e-02)
asset (1.22e-02)
object (1.03e-02)
type (9.99e-03)
string (5.96e-03)
out (5.45e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
!=
null
)
{
for
(
object
map
.
entry
<
string
,
ref
counted
container
>
asset
:
assets
by
type
.
entries
(
)
)
{
out
.
add
(
asset
.
value
.
get
object
(
type
)
)
;
}
}
return
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
!=
null
)
{
for
(
object
map
.
entry
<
string
,
ref
counted
container
>
asset
:
assets
by
type
.
entries
(
)
)
{
out
.
add
(
asset
.
value
.
get
object
(
type
)
)
;
}
}
return
out
;
}
<SENTENCE_END/>
%END%%END% (3.29e-01)
by (2.11e-01)
type (8.26e-02)
container (3.67e-02)
assets (3.30e-02)
asset (2.83e-02)
object (1.87e-02)
string (1.33e-02)
%UNK% (8.21e-03)
get (7.90e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
!=
null
)
{
for
(
object
map
.
entry
<
string
,
ref
counted
container
>
asset
:
assets
by
type
.
entries
(
)
)
{
out
.
add
(
asset
.
value
.
get
object
(
type
)
)
;
}
}
return
out
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
!=
null
)
{
for
(
object
map
.
entry
<
string
,
ref
counted
container
>
asset
:
assets
by
type
.
entries
(
)
)
{
out
.
add
(
asset
.
value
.
get
object
(
type
)
)
;
}
}
return
out
;
}
<SENTENCE_END/>
getgetresolve (3.57e-01)
get (2.80e-01)
load (8.06e-02)
asset (7.80e-02)
handle (1.61e-02)
%END% (1.18e-02)
save (9.56e-03)
process (7.88e-03)
file (7.45e-03)
obtain (7.00e-03)
<SENTENCE_START>
{
return
%SELF%
(
asset
descriptor
.
file
name
,
asset
descriptor
.
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
asset
descriptor
.
file
name
,
asset
descriptor
.
type
)
;
}
<SENTENCE_END/>
%END%asset (5.16e-01)
%END% (3.33e-01)
descriptor (8.86e-02)
type (2.10e-02)
file (7.12e-03)
resolve (3.69e-03)
name (1.86e-03)
atlas (1.32e-03)
model (1.08e-03)
loading (8.43e-04)
<SENTENCE_START>
{
return
%SELF%
(
asset
descriptor
.
file
name
,
asset
descriptor
.
type
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
asset
descriptor
.
file
name
,
asset
descriptor
.
type
)
;
}
<SENTENCE_END/>
unloadunloadload (1.27e-01)
get (1.23e-01)
%UNK% (6.22e-02)
%END% (4.60e-02)
update (3.66e-02)
save (3.30e-02)
handle (2.41e-02)
remove (1.94e-02)
parse (1.84e-02)
set (1.79e-02)
<SENTENCE_START>
{
if
(
tasks
.
size
(
)
>
0
)
{
asset
loading
task
curr
asset
=
tasks
.
first
element
(
)
;
if
(
curr
asset
.
asset
desc
.
file
name
.
equals
(
file
name
)
)
{
curr
asset
.
cancel
=
true
;
log
.
debug
(
"Unload (from tasks): "
+
file
name
)
;
return
;
}
}
int
found
index
=
-
1
;
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
if
(
load
queue
.
get
(
i
)
.
file
name
.
equals
(
file
name
)
)
{
found
index
=
i
;
break
;
}
}
if
(
found
index
!=
-
1
)
{
to
load
--
;
load
queue
.
remove
index
(
found
index
)
;
log
.
debug
(
"Unload (from queue): "
+
file
name
)
;
return
;
}
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
asset
ref
.
dec
ref
count
(
)
;
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
log
.
debug
(
"Unload (dispose): "
+
file
name
)
;
if
(
asset
ref
.
get
object
(
object
.
class
)
instanceof
disposable
)
(
(
disposable
)
asset
ref
.
get
object
(
object
.
class
)
)
.
dispose
(
)
;
asset
types
.
remove
(
file
name
)
;
assets
.
get
(
type
)
.
remove
(
file
name
)
;
}
else
{
log
.
debug
(
"Unload (decrement): "
+
file
name
)
;
}
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
if
(
dependencies
!=
null
)
{
for
(
string
dependency
:
dependencies
)
{
if
(
is
loaded
(
dependency
)
)
%SELF%
(
dependency
)
;
}
}
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
asset
dependencies
.
remove
(
file
name
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
tasks
.
size
(
)
>
0
)
{
asset
loading
task
curr
asset
=
tasks
.
first
element
(
)
;
if
(
curr
asset
.
asset
desc
.
file
name
.
equals
(
file
name
)
)
{
curr
asset
.
cancel
=
true
;
log
.
debug
(
"Unload (from tasks): "
+
file
name
)
;
return
;
}
}
int
found
index
=
-
1
;
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
if
(
load
queue
.
get
(
i
)
.
file
name
.
equals
(
file
name
)
)
{
found
index
=
i
;
break
;
}
}
if
(
found
index
!=
-
1
)
{
to
load
--
;
load
queue
.
remove
index
(
found
index
)
;
log
.
debug
(
"Unload (from queue): "
+
file
name
)
;
return
;
}
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
asset
ref
.
dec
ref
count
(
)
;
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
log
.
debug
(
"Unload (dispose): "
+
file
name
)
;
if
(
asset
ref
.
get
object
(
object
.
class
)
instanceof
disposable
)
(
(
disposable
)
asset
ref
.
get
object
(
object
.
class
)
)
.
dispose
(
)
;
asset
types
.
remove
(
file
name
)
;
assets
.
get
(
type
)
.
remove
(
file
name
)
;
}
else
{
log
.
debug
(
"Unload (decrement): "
+
file
name
)
;
}
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
if
(
dependencies
!=
null
)
{
for
(
string
dependency
:
dependencies
)
{
if
(
is
loaded
(
dependency
)
)
%SELF%
(
dependency
)
;
}
}
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
asset
dependencies
.
remove
(
file
name
)
;
}
}
<SENTENCE_END/>
%END%%END% (4.62e-01)
asset (5.04e-02)
task (3.76e-02)
container (2.85e-02)
ref (2.11e-02)
loading (1.68e-02)
file (1.48e-02)
%UNK% (1.39e-02)
dependencies (1.25e-02)
name (1.22e-02)
<SENTENCE_START>
{
if
(
tasks
.
size
(
)
>
0
)
{
asset
loading
task
curr
asset
=
tasks
.
first
element
(
)
;
if
(
curr
asset
.
asset
desc
.
file
name
.
equals
(
file
name
)
)
{
curr
asset
.
cancel
=
true
;
log
.
debug
(
"Unload (from tasks): "
+
file
name
)
;
return
;
}
}
int
found
index
=
-
1
;
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
if
(
load
queue
.
get
(
i
)
.
file
name
.
equals
(
file
name
)
)
{
found
index
=
i
;
break
;
}
}
if
(
found
index
!=
-
1
)
{
to
load
--
;
load
queue
.
remove
index
(
found
index
)
;
log
.
debug
(
"Unload (from queue): "
+
file
name
)
;
return
;
}
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
asset
ref
.
dec
ref
count
(
)
;
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
log
.
debug
(
"Unload (dispose): "
+
file
name
)
;
if
(
asset
ref
.
get
object
(
object
.
class
)
instanceof
disposable
)
(
(
disposable
)
asset
ref
.
get
object
(
object
.
class
)
)
.
dispose
(
)
;
asset
types
.
remove
(
file
name
)
;
assets
.
get
(
type
)
.
remove
(
file
name
)
;
}
else
{
log
.
debug
(
"Unload (decrement): "
+
file
name
)
;
}
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
if
(
dependencies
!=
null
)
{
for
(
string
dependency
:
dependencies
)
{
if
(
is
loaded
(
dependency
)
)
%SELF%
(
dependency
)
;
}
}
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
asset
dependencies
.
remove
(
file
name
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
tasks
.
size
(
)
>
0
)
{
asset
loading
task
curr
asset
=
tasks
.
first
element
(
)
;
if
(
curr
asset
.
asset
desc
.
file
name
.
equals
(
file
name
)
)
{
curr
asset
.
cancel
=
true
;
log
.
debug
(
"Unload (from tasks): "
+
file
name
)
;
return
;
}
}
int
found
index
=
-
1
;
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
if
(
load
queue
.
get
(
i
)
.
file
name
.
equals
(
file
name
)
)
{
found
index
=
i
;
break
;
}
}
if
(
found
index
!=
-
1
)
{
to
load
--
;
load
queue
.
remove
index
(
found
index
)
;
log
.
debug
(
"Unload (from queue): "
+
file
name
)
;
return
;
}
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
asset
ref
.
dec
ref
count
(
)
;
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
log
.
debug
(
"Unload (dispose): "
+
file
name
)
;
if
(
asset
ref
.
get
object
(
object
.
class
)
instanceof
disposable
)
(
(
disposable
)
asset
ref
.
get
object
(
object
.
class
)
)
.
dispose
(
)
;
asset
types
.
remove
(
file
name
)
;
assets
.
get
(
type
)
.
remove
(
file
name
)
;
}
else
{
log
.
debug
(
"Unload (decrement): "
+
file
name
)
;
}
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
if
(
dependencies
!=
null
)
{
for
(
string
dependency
:
dependencies
)
{
if
(
is
loaded
(
dependency
)
)
%SELF%
(
dependency
)
;
}
}
if
(
asset
ref
.
get
ref
count
(
)
<=
0
)
{
asset
dependencies
.
remove
(
file
name
)
;
}
}
<SENTENCE_END/>
contains,assetcontainsget (2.96e-01)
load (1.28e-01)
set (7.28e-02)
copy (4.48e-02)
%UNK% (2.76e-02)
handle (2.25e-02)
resolve (2.23e-02)
is (2.14e-02)
can (1.71e-02)
equals (1.47e-02)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
.
get
class
(
)
)
;
if
(
typed
assets
==
null
)
return
false
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
true
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
.
get
class
(
)
)
;
if
(
typed
assets
==
null
)
return
false
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
true
;
}
return
false
;
}
<SENTENCE_END/>
asset%END% (2.74e-01)
asset (8.72e-02)
container (5.85e-02)
assets (3.78e-02)
get (3.00e-02)
%UNK% (2.44e-02)
file (2.37e-02)
other (2.25e-02)
object (1.87e-02)
typed (1.70e-02)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
.
get
class
(
)
)
;
if
(
typed
assets
==
null
)
return
false
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
true
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
.
get
class
(
)
)
;
if
(
typed
assets
==
null
)
return
false
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
true
;
}
return
false
;
}
<SENTENCE_END/>
%END%%END% (8.13e-01)
asset (1.58e-02)
assets (8.26e-03)
string (8.09e-03)
object (6.60e-03)
%UNK% (6.44e-03)
file (5.48e-03)
container (4.47e-03)
typed (3.80e-03)
absolute (3.61e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
.
get
class
(
)
)
;
if
(
typed
assets
==
null
)
return
false
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
true
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
.
get
class
(
)
)
;
if
(
typed
assets
==
null
)
return
false
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
true
;
}
return
false
;
}
<SENTENCE_END/>
get,asset,file,namegetget (4.98e-01)
load (9.82e-02)
set (3.79e-02)
resolve (3.00e-02)
%UNK% (1.89e-02)
copy (1.49e-02)
handle (1.36e-02)
process (1.25e-02)
save (1.13e-02)
asset (1.11e-02)
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
asset%END% (3.29e-01)
asset (9.78e-02)
container (5.52e-02)
file (3.71e-02)
assets (3.63e-02)
get (2.54e-02)
other (2.46e-02)
object (1.82e-02)
%UNK% (1.31e-02)
name (1.31e-02)
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
file%END% (7.27e-01)
asset (2.49e-02)
container (1.13e-02)
object (1.12e-02)
file (1.10e-02)
assets (9.02e-03)
string (7.93e-03)
%UNK% (6.76e-03)
type (5.77e-03)
name (5.64e-03)
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
name%END% (9.11e-01)
asset (6.95e-03)
string (3.63e-03)
file (3.63e-03)
status (2.76e-03)
object (2.76e-03)
%UNK% (2.31e-03)
assets (1.71e-03)
descriptor (1.69e-03)
type (1.66e-03)
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
%END%%END% (9.19e-01)
asset (7.60e-03)
string (3.16e-03)
file (3.12e-03)
object (2.51e-03)
status (2.43e-03)
%UNK% (1.89e-03)
map (1.76e-03)
descriptor (1.43e-03)
by (1.40e-03)
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
for
(
class
asset
type
:
assets
.
keys
(
)
)
{
object
map
<
string
,
ref
counted
container
>
typed
assets
=
assets
.
get
(
asset
type
)
;
for
(
string
file
name
:
typed
assets
.
keys
(
)
)
{
t
other
asset
=
(
t
)
typed
assets
.
get
(
file
name
)
.
get
object
(
object
.
class
)
;
if
(
other
asset
==
asset
||
asset
.
equals
(
other
asset
)
)
return
file
name
;
}
}
return
null
;
}
<SENTENCE_END/>
is,loadedisget (6.27e-01)
resolve (7.41e-02)
is (5.40e-02)
load (4.88e-02)
can (2.29e-02)
name (2.11e-02)
file (1.16e-02)
find (1.05e-02)
keyframe (6.23e-03)
asset (6.21e-03)
<SENTENCE_START>
{
if
(
file
name
==
null
)
return
false
;
return
asset
types
.
contains
key
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
file
name
==
null
)
return
false
;
return
asset
types
.
contains
key
(
file
name
)
;
}
<SENTENCE_END/>
loadedasset (6.07e-01)
types (2.00e-01)
%END% (1.21e-01)
file (2.24e-02)
name (1.02e-02)
return (2.47e-03)
resolve (2.18e-03)
declared (1.83e-03)
contains (1.65e-03)
attribute (1.64e-03)
<SENTENCE_START>
{
if
(
file
name
==
null
)
return
false
;
return
asset
types
.
contains
key
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
file
name
==
null
)
return
false
;
return
asset
types
.
contains
key
(
file
name
)
;
}
<SENTENCE_END/>
%END%%END% (6.69e-01)
types (1.47e-01)
key (3.73e-02)
name (3.72e-02)
contains (2.28e-02)
asset (1.41e-02)
file (1.09e-02)
string (1.22e-03)
return (9.28e-04)
descriptor (9.07e-04)
<SENTENCE_START>
{
if
(
file
name
==
null
)
return
false
;
return
asset
types
.
contains
key
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
file
name
==
null
)
return
false
;
return
asset
types
.
contains
key
(
file
name
)
;
}
<SENTENCE_END/>
is,loadedisget (5.46e-01)
set (2.50e-01)
load (5.70e-02)
remove (1.15e-02)
container (7.81e-03)
asset (6.28e-03)
find (6.27e-03)
update (5.89e-03)
generate (4.57e-03)
show (4.03e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
==
null
)
return
false
;
ref
counted
container
asset
container
=
assets
by
type
.
get
(
file
name
)
;
if
(
asset
container
==
null
)
return
false
;
return
asset
container
.
get
object
(
type
)
!=
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
==
null
)
return
false
;
ref
counted
container
asset
container
=
assets
by
type
.
get
(
file
name
)
;
if
(
asset
container
==
null
)
return
false
;
return
asset
container
.
get
object
(
type
)
!=
null
;
}
<SENTENCE_END/>
loadedasset (3.64e-01)
container (3.52e-01)
by (8.44e-02)
assets (6.21e-02)
%END% (2.96e-02)
get (2.94e-02)
counted (1.08e-02)
type (9.49e-03)
name (1.87e-03)
object (1.86e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
==
null
)
return
false
;
ref
counted
container
asset
container
=
assets
by
type
.
get
(
file
name
)
;
if
(
asset
container
==
null
)
return
false
;
return
asset
container
.
get
object
(
type
)
!=
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
==
null
)
return
false
;
ref
counted
container
asset
container
=
assets
by
type
.
get
(
file
name
)
;
if
(
asset
container
==
null
)
return
false
;
return
asset
container
.
get
object
(
type
)
!=
null
;
}
<SENTENCE_END/>
%END%asset (2.82e-01)
%END% (2.75e-01)
container (2.52e-01)
by (5.31e-02)
type (3.57e-02)
get (1.13e-02)
object (5.15e-03)
assets (4.48e-03)
string (2.43e-03)
name (2.40e-03)
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
==
null
)
return
false
;
ref
counted
container
asset
container
=
assets
by
type
.
get
(
file
name
)
;
if
(
asset
container
==
null
)
return
false
;
return
asset
container
.
get
object
(
type
)
!=
null
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
map
<
string
,
ref
counted
container
>
assets
by
type
=
assets
.
get
(
type
)
;
if
(
assets
by
type
==
null
)
return
false
;
ref
counted
container
asset
container
=
assets
by
type
.
get
(
file
name
)
;
if
(
asset
container
==
null
)
return
false
;
return
asset
container
.
get
object
(
type
)
!=
null
;
}
<SENTENCE_END/>
get,loadergetget (5.92e-01)
is (8.83e-02)
type (3.46e-02)
obtain (2.54e-02)
begin (1.61e-02)
set (1.40e-02)
read (1.28e-02)
%UNK% (1.03e-02)
color (9.80e-03)
append (8.91e-03)
<SENTENCE_START>
{
return
%SELF%
(
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
type
,
null
)
;
}
<SENTENCE_END/>
loader%END% (8.01e-01)
type (8.61e-02)
by (2.09e-02)
object (3.78e-03)
%UNK% (3.39e-03)
animation (2.73e-03)
array (2.54e-03)
value (2.09e-03)
size (2.02e-03)
class (1.81e-03)
<SENTENCE_START>
{
return
%SELF%
(
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
type
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.31e-01)
type (9.76e-03)
by (3.86e-03)
value (2.70e-03)
array (2.07e-03)
object (1.71e-03)
%UNK% (1.68e-03)
count (1.20e-03)
animation (1.19e-03)
null (1.06e-03)
<SENTENCE_START>
{
return
%SELF%
(
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
%SELF%
(
type
,
null
)
;
}
<SENTENCE_END/>
get,loadergetload (2.35e-01)
%UNK% (1.35e-01)
set (8.87e-02)
get (5.62e-02)
init (4.24e-02)
update (3.35e-02)
process (2.54e-02)
parse (1.88e-02)
add (1.45e-02)
read (1.05e-02)
<SENTENCE_START>
{
final
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
||
loaders
.
size
<
1
)
return
null
;
if
(
file
name
==
null
)
return
loaders
.
get
(
""
)
;
asset
loader
result
=
null
;
int
l
=
-
1
;
for
(
object
map
.
entry
<
string
,
asset
loader
>
entry
:
loaders
.
entries
(
)
)
{
if
(
entry
.
key
.
length
(
)
>
l
&&
file
name
.
ends
with
(
entry
.
key
)
)
{
result
=
entry
.
value
;
l
=
entry
.
key
.
length
(
)
;
}
}
return
result
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
||
loaders
.
size
<
1
)
return
null
;
if
(
file
name
==
null
)
return
loaders
.
get
(
""
)
;
asset
loader
result
=
null
;
int
l
=
-
1
;
for
(
object
map
.
entry
<
string
,
asset
loader
>
entry
:
loaders
.
entries
(
)
)
{
if
(
entry
.
key
.
length
(
)
>
l
&&
file
name
.
ends
with
(
entry
.
key
)
)
{
result
=
entry
.
value
;
l
=
entry
.
key
.
length
(
)
;
}
}
return
result
;
}
<SENTENCE_END/>
loader%END% (3.21e-01)
%UNK% (1.40e-01)
loader (6.54e-02)
asset (3.46e-02)
to (1.69e-02)
get (1.30e-02)
string (1.25e-02)
loaders (1.22e-02)
file (1.06e-02)
load (9.93e-03)
<SENTENCE_START>
{
final
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
||
loaders
.
size
<
1
)
return
null
;
if
(
file
name
==
null
)
return
loaders
.
get
(
""
)
;
asset
loader
result
=
null
;
int
l
=
-
1
;
for
(
object
map
.
entry
<
string
,
asset
loader
>
entry
:
loaders
.
entries
(
)
)
{
if
(
entry
.
key
.
length
(
)
>
l
&&
file
name
.
ends
with
(
entry
.
key
)
)
{
result
=
entry
.
value
;
l
=
entry
.
key
.
length
(
)
;
}
}
return
result
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
||
loaders
.
size
<
1
)
return
null
;
if
(
file
name
==
null
)
return
loaders
.
get
(
""
)
;
asset
loader
result
=
null
;
int
l
=
-
1
;
for
(
object
map
.
entry
<
string
,
asset
loader
>
entry
:
loaders
.
entries
(
)
)
{
if
(
entry
.
key
.
length
(
)
>
l
&&
file
name
.
ends
with
(
entry
.
key
)
)
{
result
=
entry
.
value
;
l
=
entry
.
key
.
length
(
)
;
}
}
return
result
;
}
<SENTENCE_END/>
%END%%END% (6.52e-01)
%UNK% (8.31e-02)
to (1.48e-02)
string (1.02e-02)
get (6.00e-03)
file (5.34e-03)
value (5.24e-03)
all (4.93e-03)
parse (3.65e-03)
loader (3.59e-03)
<SENTENCE_START>
{
final
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
||
loaders
.
size
<
1
)
return
null
;
if
(
file
name
==
null
)
return
loaders
.
get
(
""
)
;
asset
loader
result
=
null
;
int
l
=
-
1
;
for
(
object
map
.
entry
<
string
,
asset
loader
>
entry
:
loaders
.
entries
(
)
)
{
if
(
entry
.
key
.
length
(
)
>
l
&&
file
name
.
ends
with
(
entry
.
key
)
)
{
result
=
entry
.
value
;
l
=
entry
.
key
.
length
(
)
;
}
}
return
result
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
||
loaders
.
size
<
1
)
return
null
;
if
(
file
name
==
null
)
return
loaders
.
get
(
""
)
;
asset
loader
result
=
null
;
int
l
=
-
1
;
for
(
object
map
.
entry
<
string
,
asset
loader
>
entry
:
loaders
.
entries
(
)
)
{
if
(
entry
.
key
.
length
(
)
>
l
&&
file
name
.
ends
with
(
entry
.
key
)
)
{
result
=
entry
.
value
;
l
=
entry
.
key
.
length
(
)
;
}
}
return
result
;
}
<SENTENCE_END/>
loadloadload (1.25e-01)
add (5.85e-02)
write (5.23e-02)
process (4.64e-02)
element (4.59e-02)
name (4.08e-02)
%UNK% (3.88e-02)
read (3.43e-02)
file (3.40e-02)
get (3.31e-02)
<SENTENCE_START>
{
%SELF%
(
file
name
,
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
file
name
,
type
,
null
)
;
}
<SENTENCE_END/>
%END%%END% (9.40e-01)
file (9.64e-03)
type (6.64e-03)
by (5.20e-03)
name (4.18e-03)
string (1.68e-03)
model (1.62e-03)
%UNK% (1.39e-03)
element (1.37e-03)
all (1.18e-03)
<SENTENCE_START>
{
%SELF%
(
file
name
,
type
,
null
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
file
name
,
type
,
null
)
;
}
<SENTENCE_END/>
loadloadload (1.97e-01)
get (1.84e-01)
%END% (6.67e-02)
set (4.05e-02)
%UNK% (2.71e-02)
save (2.70e-02)
create (2.02e-02)
add (1.80e-02)
copy (1.73e-02)
write (1.64e-02)
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
type
,
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
type
)
)
;
if
(
load
queue
.
size
==
0
)
{
loaded
=
0
;
to
load
=
0
;
}
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
asset
descriptor
desc
=
load
queue
.
get
(
i
)
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in preload queue, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
for
(
int
i
=
0
;
i
<
tasks
.
size
(
)
;
i
++
)
{
asset
descriptor
desc
=
tasks
.
get
(
i
)
.
asset
desc
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in task list, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
class
other
type
=
asset
types
.
get
(
file
name
)
;
if
(
other
type
!=
null
&&
!
other
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already loaded, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
other
type
)
+
")"
)
;
to
load
++
;
asset
descriptor
asset
desc
=
new
asset
descriptor
(
file
name
,
type
,
parameter
)
;
load
queue
.
add
(
asset
desc
)
;
log
.
debug
(
"Queued: "
+
asset
desc
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
type
,
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
type
)
)
;
if
(
load
queue
.
size
==
0
)
{
loaded
=
0
;
to
load
=
0
;
}
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
asset
descriptor
desc
=
load
queue
.
get
(
i
)
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in preload queue, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
for
(
int
i
=
0
;
i
<
tasks
.
size
(
)
;
i
++
)
{
asset
descriptor
desc
=
tasks
.
get
(
i
)
.
asset
desc
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in task list, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
class
other
type
=
asset
types
.
get
(
file
name
)
;
if
(
other
type
!=
null
&&
!
other
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already loaded, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
other
type
)
+
")"
)
;
to
load
++
;
asset
descriptor
asset
desc
=
new
asset
descriptor
(
file
name
,
type
,
parameter
)
;
load
queue
.
add
(
asset
desc
)
;
log
.
debug
(
"Queued: "
+
asset
desc
)
;
}
<SENTENCE_END/>
%END%%END% (3.76e-01)
loader (1.11e-01)
asset (1.08e-01)
descriptor (2.18e-02)
get (1.95e-02)
name (1.66e-02)
type (1.62e-02)
load (1.29e-02)
queue (1.17e-02)
desc (1.05e-02)
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
type
,
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
type
)
)
;
if
(
load
queue
.
size
==
0
)
{
loaded
=
0
;
to
load
=
0
;
}
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
asset
descriptor
desc
=
load
queue
.
get
(
i
)
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in preload queue, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
for
(
int
i
=
0
;
i
<
tasks
.
size
(
)
;
i
++
)
{
asset
descriptor
desc
=
tasks
.
get
(
i
)
.
asset
desc
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in task list, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
class
other
type
=
asset
types
.
get
(
file
name
)
;
if
(
other
type
!=
null
&&
!
other
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already loaded, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
other
type
)
+
")"
)
;
to
load
++
;
asset
descriptor
asset
desc
=
new
asset
descriptor
(
file
name
,
type
,
parameter
)
;
load
queue
.
add
(
asset
desc
)
;
log
.
debug
(
"Queued: "
+
asset
desc
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
type
,
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
type
)
)
;
if
(
load
queue
.
size
==
0
)
{
loaded
=
0
;
to
load
=
0
;
}
for
(
int
i
=
0
;
i
<
load
queue
.
size
;
i
++
)
{
asset
descriptor
desc
=
load
queue
.
get
(
i
)
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in preload queue, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
for
(
int
i
=
0
;
i
<
tasks
.
size
(
)
;
i
++
)
{
asset
descriptor
desc
=
tasks
.
get
(
i
)
.
asset
desc
;
if
(
desc
.
file
name
.
equals
(
file
name
)
&&
!
desc
.
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already in task list, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
desc
.
type
)
+
")"
)
;
}
class
other
type
=
asset
types
.
get
(
file
name
)
;
if
(
other
type
!=
null
&&
!
other
type
.
equals
(
type
)
)
throw
new
gdx
runtime
exception
(
"Asset with name '"
+
file
name
+
"' already loaded, but has different type (expected: "
+
class
reflection
.
get
simple
name
(
type
)
+
", found: "
+
class
reflection
.
get
simple
name
(
other
type
)
+
")"
)
;
to
load
++
;
asset
descriptor
asset
desc
=
new
asset
descriptor
(
file
name
,
type
,
parameter
)
;
load
queue
.
add
(
asset
desc
)
;
log
.
debug
(
"Queued: "
+
asset
desc
)
;
}
<SENTENCE_END/>
loadload%END% (1.37e-01)
resolve (8.86e-02)
flush (8.34e-02)
%UNK% (6.65e-02)
close (4.23e-02)
test (2.57e-02)
end (2.37e-02)
on (1.79e-02)
add (1.73e-02)
element (1.55e-02)
<SENTENCE_START>
{
%SELF%
(
desc
.
file
name
,
desc
.
type
,
desc
.
params
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
desc
.
file
name
,
desc
.
type
,
desc
.
params
)
;
}
<SENTENCE_END/>
%END%%END% (9.70e-01)
params (4.05e-03)
%UNK% (3.20e-03)
file (1.38e-03)
desc (7.08e-04)
model (6.21e-04)
name (5.79e-04)
by (5.42e-04)
type (5.29e-04)
test (4.38e-04)
<SENTENCE_START>
{
%SELF%
(
desc
.
file
name
,
desc
.
type
,
desc
.
params
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
desc
.
file
name
,
desc
.
type
,
desc
.
params
)
;
}
<SENTENCE_END/>
updateupdateupdate (1.20e-01)
is (1.14e-01)
choose (4.74e-02)
find (4.06e-02)
%UNK% (3.47e-02)
clear (2.83e-02)
touch (2.82e-02)
contains (2.36e-02)
key (2.35e-02)
schedule (1.97e-02)
<SENTENCE_START>
{
try
{
if
(
tasks
.
size
(
)
==
0
)
{
while
(
load
queue
.
size
!=
0
&&
tasks
.
size
(
)
==
0
)
{
next
task
(
)
;
}
if
(
tasks
.
size
(
)
==
0
)
return
true
;
}
return
update
task
(
)
&&
load
queue
.
size
==
0
&&
tasks
.
size
(
)
==
0
;
}
catch
(
throwable
t
)
{
handle
task
error
(
t
)
;
return
load
queue
.
size
==
0
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
if
(
tasks
.
size
(
)
==
0
)
{
while
(
load
queue
.
size
!=
0
&&
tasks
.
size
(
)
==
0
)
{
next
task
(
)
;
}
if
(
tasks
.
size
(
)
==
0
)
return
true
;
}
return
update
task
(
)
&&
load
queue
.
size
==
0
&&
tasks
.
size
(
)
==
0
;
}
catch
(
throwable
t
)
{
handle
task
error
(
t
)
;
return
load
queue
.
size
==
0
;
}
}
<SENTENCE_END/>
%END%%END% (5.37e-01)
task (2.88e-02)
%UNK% (2.47e-02)
handle (1.56e-02)
key (1.45e-02)
size (1.22e-02)
is (1.06e-02)
to (9.49e-03)
update (9.09e-03)
tasks (7.92e-03)
<SENTENCE_START>
{
try
{
if
(
tasks
.
size
(
)
==
0
)
{
while
(
load
queue
.
size
!=
0
&&
tasks
.
size
(
)
==
0
)
{
next
task
(
)
;
}
if
(
tasks
.
size
(
)
==
0
)
return
true
;
}
return
update
task
(
)
&&
load
queue
.
size
==
0
&&
tasks
.
size
(
)
==
0
;
}
catch
(
throwable
t
)
{
handle
task
error
(
t
)
;
return
load
queue
.
size
==
0
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
try
{
if
(
tasks
.
size
(
)
==
0
)
{
while
(
load
queue
.
size
!=
0
&&
tasks
.
size
(
)
==
0
)
{
next
task
(
)
;
}
if
(
tasks
.
size
(
)
==
0
)
return
true
;
}
return
update
task
(
)
&&
load
queue
.
size
==
0
&&
tasks
.
size
(
)
==
0
;
}
catch
(
throwable
t
)
{
handle
task
error
(
t
)
;
return
load
queue
.
size
==
0
;
}
}
<SENTENCE_END/>
updateupdateupdate (1.71e-01)
render (8.78e-02)
get (4.26e-02)
start (3.64e-02)
%UNK% (3.45e-02)
touch (3.06e-02)
handle (2.83e-02)
end (2.31e-02)
run (2.30e-02)
set (2.24e-02)
<SENTENCE_START>
{
long
end
time
=
time
utils
.
millis
(
)
+
millis
;
while
(
true
)
{
boolean
done
=
%SELF%
(
)
;
if
(
done
||
time
utils
.
millis
(
)
>
end
time
)
return
done
;
thread
utils
.
yield
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
long
end
time
=
time
utils
.
millis
(
)
+
millis
;
while
(
true
)
{
boolean
done
=
%SELF%
(
)
;
if
(
done
||
time
utils
.
millis
(
)
>
end
time
)
return
done
;
thread
utils
.
yield
(
)
;
}
}
<SENTENCE_END/>
%END%%END% (6.50e-01)
time (2.73e-02)
update (1.89e-02)
%UNK% (1.51e-02)
done (1.04e-02)
render (7.68e-03)
pause (7.32e-03)
handle (7.24e-03)
end (6.42e-03)
changed (6.34e-03)
<SENTENCE_START>
{
long
end
time
=
time
utils
.
millis
(
)
+
millis
;
while
(
true
)
{
boolean
done
=
%SELF%
(
)
;
if
(
done
||
time
utils
.
millis
(
)
>
end
time
)
return
done
;
thread
utils
.
yield
(
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
long
end
time
=
time
utils
.
millis
(
)
+
millis
;
while
(
true
)
{
boolean
done
=
%SELF%
(
)
;
if
(
done
||
time
utils
.
millis
(
)
>
end
time
)
return
done
;
thread
utils
.
yield
(
)
;
}
}
<SENTENCE_END/>
finish,loadingfinishlog (6.68e-01)
on (1.45e-01)
run (7.60e-02)
%UNK% (1.79e-02)
changed (1.59e-02)
destroy (8.97e-03)
check (7.18e-03)
update (6.88e-03)
window (4.37e-03)
set (2.60e-03)
<SENTENCE_START>
{
log
.
debug
(
"Waiting for loading to complete..."
)
;
while
(
!
update
(
)
)
thread
utils
.
yield
(
)
;
log
.
debug
(
"Loading complete."
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
debug
(
"Waiting for loading to complete..."
)
;
while
(
!
update
(
)
)
thread
utils
.
yield
(
)
;
log
.
debug
(
"Loading complete."
)
;
}
<SENTENCE_END/>
loadinglog (1.85e-01)
changed (1.63e-01)
%UNK% (1.62e-01)
%END% (8.33e-02)
on (5.85e-02)
equal (2.51e-02)
clicked (2.41e-02)
notify (2.04e-02)
pause (1.74e-02)
wake (1.43e-02)
<SENTENCE_START>
{
log
.
debug
(
"Waiting for loading to complete..."
)
;
while
(
!
update
(
)
)
thread
utils
.
yield
(
)
;
log
.
debug
(
"Loading complete."
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
debug
(
"Waiting for loading to complete..."
)
;
while
(
!
update
(
)
)
thread
utils
.
yield
(
)
;
log
.
debug
(
"Loading complete."
)
;
}
<SENTENCE_END/>
%END%%END% (8.38e-01)
changed (2.84e-02)
%UNK% (1.50e-02)
equal (1.35e-02)
clicked (7.75e-03)
log (6.16e-03)
performed (5.61e-03)
notify (4.88e-03)
and (4.27e-03)
debug (3.25e-03)
<SENTENCE_START>
{
log
.
debug
(
"Waiting for loading to complete..."
)
;
while
(
!
update
(
)
)
thread
utils
.
yield
(
)
;
log
.
debug
(
"Loading complete."
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
debug
(
"Waiting for loading to complete..."
)
;
while
(
!
update
(
)
)
thread
utils
.
yield
(
)
;
log
.
debug
(
"Loading complete."
)
;
}
<SENTENCE_END/>
finish,loading,assetfinishlog (2.48e-01)
on (1.77e-01)
run (1.06e-01)
%UNK% (9.91e-02)
update (7.39e-02)
destroy (5.67e-02)
check (2.03e-02)
changed (1.73e-02)
clicked (1.54e-02)
save (1.31e-02)
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
loading%END% (5.57e-01)
%UNK% (5.85e-02)
changed (2.67e-02)
file (2.52e-02)
clicked (1.98e-02)
name (1.66e-02)
on (1.43e-02)
log (1.08e-02)
equal (1.00e-02)
save (7.92e-03)
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
asset%END% (9.15e-01)
name (7.46e-03)
file (6.37e-03)
%UNK% (3.77e-03)
yield (2.51e-03)
changed (2.25e-03)
debug (1.94e-03)
equal (1.89e-03)
loaded (1.74e-03)
clicked (1.57e-03)
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
%END%%END% (9.62e-01)
file (2.62e-03)
name (2.10e-03)
yield (1.53e-03)
update (1.40e-03)
debug (1.31e-03)
loaded (9.96e-04)
thread (9.12e-04)
status (6.53e-04)
%UNK% (6.47e-04)
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
debug
(
"Waiting for asset to be loaded: "
+
file
name
)
;
while
(
!
is
loaded
(
file
name
)
)
{
update
(
)
;
thread
utils
.
yield
(
)
;
}
log
.
debug
(
"Asset loaded: "
+
file
name
)
;
}
<SENTENCE_END/>
inject,dependenciesinject%UNK% (2.33e-01)
get (6.76e-02)
add (3.66e-02)
load (2.97e-02)
destroy (2.76e-02)
save (2.57e-02)
set (2.56e-02)
update (2.55e-02)
build (2.41e-02)
can (1.90e-02)
<SENTENCE_START>
{
object
set
<
string
>
injected
=
this
.
injected
;
for
(
asset
descriptor
desc
:
dependend
asset
descs
)
{
if
(
injected
.
contains
(
desc
.
file
name
)
)
continue
;
injected
.
add
(
desc
.
file
name
)
;
inject
dependency
(
parent
asset
filename
,
desc
)
;
}
injected
.
clear
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
set
<
string
>
injected
=
this
.
injected
;
for
(
asset
descriptor
desc
:
dependend
asset
descs
)
{
if
(
injected
.
contains
(
desc
.
file
name
)
)
continue
;
injected
.
add
(
desc
.
file
name
)
;
inject
dependency
(
parent
asset
filename
,
desc
)
;
}
injected
.
clear
(
)
;
}
<SENTENCE_END/>
dependencies%END% (7.52e-01)
asset (4.54e-02)
%UNK% (3.40e-02)
string (9.35e-03)
parent (9.22e-03)
descriptor (8.33e-03)
dependency (7.45e-03)
file (6.79e-03)
object (6.37e-03)
injected (5.87e-03)
<SENTENCE_START>
{
object
set
<
string
>
injected
=
this
.
injected
;
for
(
asset
descriptor
desc
:
dependend
asset
descs
)
{
if
(
injected
.
contains
(
desc
.
file
name
)
)
continue
;
injected
.
add
(
desc
.
file
name
)
;
inject
dependency
(
parent
asset
filename
,
desc
)
;
}
injected
.
clear
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
set
<
string
>
injected
=
this
.
injected
;
for
(
asset
descriptor
desc
:
dependend
asset
descs
)
{
if
(
injected
.
contains
(
desc
.
file
name
)
)
continue
;
injected
.
add
(
desc
.
file
name
)
;
inject
dependency
(
parent
asset
filename
,
desc
)
;
}
injected
.
clear
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.15e-01)
asset (1.03e-02)
%UNK% (7.55e-03)
injected (5.02e-03)
descriptor (4.14e-03)
dependency (3.51e-03)
string (3.46e-03)
desc (2.51e-03)
file (2.26e-03)
filename (2.26e-03)
<SENTENCE_START>
{
object
set
<
string
>
injected
=
this
.
injected
;
for
(
asset
descriptor
desc
:
dependend
asset
descs
)
{
if
(
injected
.
contains
(
desc
.
file
name
)
)
continue
;
injected
.
add
(
desc
.
file
name
)
;
inject
dependency
(
parent
asset
filename
,
desc
)
;
}
injected
.
clear
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
object
set
<
string
>
injected
=
this
.
injected
;
for
(
asset
descriptor
desc
:
dependend
asset
descs
)
{
if
(
injected
.
contains
(
desc
.
file
name
)
)
continue
;
injected
.
add
(
desc
.
file
name
)
;
inject
dependency
(
parent
asset
filename
,
desc
)
;
}
injected
.
clear
(
)
;
}
<SENTENCE_END/>
inject,dependencyinject%UNK% (1.14e-01)
build (7.80e-02)
get (6.36e-02)
save (5.98e-02)
handle (5.71e-02)
destroy (5.16e-02)
%END% (3.35e-02)
load (2.31e-02)
update (2.21e-02)
resolve (2.10e-02)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
asset
filename
)
;
if
(
dependencies
==
null
)
{
dependencies
=
new
array
(
)
;
asset
dependencies
.
put
(
parent
asset
filename
,
dependencies
)
;
}
dependencies
.
add
(
dependend
asset
desc
.
file
name
)
;
if
(
is
loaded
(
dependend
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Dependency already loaded: "
+
dependend
asset
desc
)
;
class
type
=
asset
types
.
get
(
dependend
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependend
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
dependend
asset
desc
.
file
name
)
;
}
else
{
log
.
info
(
"Loading dependency: "
+
dependend
asset
desc
)
;
add
task
(
dependend
asset
desc
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
asset
filename
)
;
if
(
dependencies
==
null
)
{
dependencies
=
new
array
(
)
;
asset
dependencies
.
put
(
parent
asset
filename
,
dependencies
)
;
}
dependencies
.
add
(
dependend
asset
desc
.
file
name
)
;
if
(
is
loaded
(
dependend
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Dependency already loaded: "
+
dependend
asset
desc
)
;
class
type
=
asset
types
.
get
(
dependend
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependend
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
dependend
asset
desc
.
file
name
)
;
}
else
{
log
.
info
(
"Loading dependency: "
+
dependend
asset
desc
)
;
add
task
(
dependend
asset
desc
)
;
}
}
<SENTENCE_END/>
dependencycontainer (3.31e-01)
%END% (1.93e-01)
asset (1.77e-01)
dependencies (5.28e-02)
ref (2.78e-02)
increment (2.31e-02)
counted (1.86e-02)
parent (1.22e-02)
dependend (8.27e-03)
desc (7.93e-03)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
asset
filename
)
;
if
(
dependencies
==
null
)
{
dependencies
=
new
array
(
)
;
asset
dependencies
.
put
(
parent
asset
filename
,
dependencies
)
;
}
dependencies
.
add
(
dependend
asset
desc
.
file
name
)
;
if
(
is
loaded
(
dependend
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Dependency already loaded: "
+
dependend
asset
desc
)
;
class
type
=
asset
types
.
get
(
dependend
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependend
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
dependend
asset
desc
.
file
name
)
;
}
else
{
log
.
info
(
"Loading dependency: "
+
dependend
asset
desc
)
;
add
task
(
dependend
asset
desc
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
asset
filename
)
;
if
(
dependencies
==
null
)
{
dependencies
=
new
array
(
)
;
asset
dependencies
.
put
(
parent
asset
filename
,
dependencies
)
;
}
dependencies
.
add
(
dependend
asset
desc
.
file
name
)
;
if
(
is
loaded
(
dependend
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Dependency already loaded: "
+
dependend
asset
desc
)
;
class
type
=
asset
types
.
get
(
dependend
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependend
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
dependend
asset
desc
.
file
name
)
;
}
else
{
log
.
info
(
"Loading dependency: "
+
dependend
asset
desc
)
;
add
task
(
dependend
asset
desc
)
;
}
}
<SENTENCE_END/>
%END%%END% (3.03e-01)
asset (2.35e-01)
ref (1.33e-01)
dependencies (4.03e-02)
desc (1.80e-02)
container (1.73e-02)
counted (1.56e-02)
increment (1.39e-02)
types (1.27e-02)
dependend (1.16e-02)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
asset
filename
)
;
if
(
dependencies
==
null
)
{
dependencies
=
new
array
(
)
;
asset
dependencies
.
put
(
parent
asset
filename
,
dependencies
)
;
}
dependencies
.
add
(
dependend
asset
desc
.
file
name
)
;
if
(
is
loaded
(
dependend
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Dependency already loaded: "
+
dependend
asset
desc
)
;
class
type
=
asset
types
.
get
(
dependend
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependend
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
dependend
asset
desc
.
file
name
)
;
}
else
{
log
.
info
(
"Loading dependency: "
+
dependend
asset
desc
)
;
add
task
(
dependend
asset
desc
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
asset
filename
)
;
if
(
dependencies
==
null
)
{
dependencies
=
new
array
(
)
;
asset
dependencies
.
put
(
parent
asset
filename
,
dependencies
)
;
}
dependencies
.
add
(
dependend
asset
desc
.
file
name
)
;
if
(
is
loaded
(
dependend
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Dependency already loaded: "
+
dependend
asset
desc
)
;
class
type
=
asset
types
.
get
(
dependend
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependend
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
dependend
asset
desc
.
file
name
)
;
}
else
{
log
.
info
(
"Loading dependency: "
+
dependend
asset
desc
)
;
add
task
(
dependend
asset
desc
)
;
}
}
<SENTENCE_END/>
next,tasknext%END% (1.92e-01)
resolve (1.03e-01)
handle (7.73e-02)
save (6.63e-02)
asset (5.99e-02)
load (4.04e-02)
%UNK% (3.76e-02)
update (2.66e-02)
ref (2.07e-02)
get (2.07e-02)
<SENTENCE_START>
{
asset
descriptor
asset
desc
=
load
queue
.
remove
index
(
0
)
;
if
(
is
loaded
(
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Already loaded: "
+
asset
desc
)
;
class
type
=
asset
types
.
get
(
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
asset
desc
.
file
name
)
;
if
(
asset
desc
.
params
!=
null
&&
asset
desc
.
params
.
loaded
callback
!=
null
)
{
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
asset
desc
.
file
name
,
asset
desc
.
type
)
;
}
loaded
++
;
}
else
{
log
.
info
(
"Loading: "
+
asset
desc
)
;
add
task
(
asset
desc
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
descriptor
asset
desc
=
load
queue
.
remove
index
(
0
)
;
if
(
is
loaded
(
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Already loaded: "
+
asset
desc
)
;
class
type
=
asset
types
.
get
(
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
asset
desc
.
file
name
)
;
if
(
asset
desc
.
params
!=
null
&&
asset
desc
.
params
.
loaded
callback
!=
null
)
{
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
asset
desc
.
file
name
,
asset
desc
.
type
)
;
}
loaded
++
;
}
else
{
log
.
info
(
"Loading: "
+
asset
desc
)
;
add
task
(
asset
desc
)
;
}
}
<SENTENCE_END/>
taskcontainer (4.07e-01)
%END% (1.92e-01)
asset (1.39e-01)
counted (3.77e-02)
increment (3.76e-02)
ref (3.70e-02)
descriptor (2.72e-02)
desc (1.48e-02)
types (7.76e-03)
file (5.06e-03)
<SENTENCE_START>
{
asset
descriptor
asset
desc
=
load
queue
.
remove
index
(
0
)
;
if
(
is
loaded
(
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Already loaded: "
+
asset
desc
)
;
class
type
=
asset
types
.
get
(
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
asset
desc
.
file
name
)
;
if
(
asset
desc
.
params
!=
null
&&
asset
desc
.
params
.
loaded
callback
!=
null
)
{
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
asset
desc
.
file
name
,
asset
desc
.
type
)
;
}
loaded
++
;
}
else
{
log
.
info
(
"Loading: "
+
asset
desc
)
;
add
task
(
asset
desc
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
descriptor
asset
desc
=
load
queue
.
remove
index
(
0
)
;
if
(
is
loaded
(
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Already loaded: "
+
asset
desc
)
;
class
type
=
asset
types
.
get
(
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
asset
desc
.
file
name
)
;
if
(
asset
desc
.
params
!=
null
&&
asset
desc
.
params
.
loaded
callback
!=
null
)
{
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
asset
desc
.
file
name
,
asset
desc
.
type
)
;
}
loaded
++
;
}
else
{
log
.
info
(
"Loading: "
+
asset
desc
)
;
add
task
(
asset
desc
)
;
}
}
<SENTENCE_END/>
%END%%END% (4.81e-01)
asset (1.47e-01)
ref (9.47e-02)
desc (4.11e-02)
container (1.46e-02)
counted (1.35e-02)
increment (1.16e-02)
count (1.08e-02)
file (9.92e-03)
types (8.87e-03)
<SENTENCE_START>
{
asset
descriptor
asset
desc
=
load
queue
.
remove
index
(
0
)
;
if
(
is
loaded
(
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Already loaded: "
+
asset
desc
)
;
class
type
=
asset
types
.
get
(
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
asset
desc
.
file
name
)
;
if
(
asset
desc
.
params
!=
null
&&
asset
desc
.
params
.
loaded
callback
!=
null
)
{
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
asset
desc
.
file
name
,
asset
desc
.
type
)
;
}
loaded
++
;
}
else
{
log
.
info
(
"Loading: "
+
asset
desc
)
;
add
task
(
asset
desc
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
descriptor
asset
desc
=
load
queue
.
remove
index
(
0
)
;
if
(
is
loaded
(
asset
desc
.
file
name
)
)
{
log
.
debug
(
"Already loaded: "
+
asset
desc
)
;
class
type
=
asset
types
.
get
(
asset
desc
.
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
asset
desc
.
file
name
)
;
asset
ref
.
inc
ref
count
(
)
;
increment
ref
counted
dependencies
(
asset
desc
.
file
name
)
;
if
(
asset
desc
.
params
!=
null
&&
asset
desc
.
params
.
loaded
callback
!=
null
)
{
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
asset
desc
.
file
name
,
asset
desc
.
type
)
;
}
loaded
++
;
}
else
{
log
.
info
(
"Loading: "
+
asset
desc
)
;
add
task
(
asset
desc
)
;
}
}
<SENTENCE_END/>
add,taskaddload (5.05e-01)
set (4.82e-02)
update (4.56e-02)
resolve (4.51e-02)
%END% (4.08e-02)
handle (3.65e-02)
asset (3.26e-02)
save (3.20e-02)
loading (2.19e-02)
loader (1.61e-02)
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
asset
desc
.
type
,
asset
desc
.
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
asset
desc
.
type
)
)
;
tasks
.
push
(
new
asset
loading
task
(
this
,
asset
desc
,
loader
,
executor
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
asset
desc
.
type
,
asset
desc
.
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
asset
desc
.
type
)
)
;
tasks
.
push
(
new
asset
loading
task
(
this
,
asset
desc
,
loader
,
executor
)
)
;
}
<SENTENCE_END/>
taskloading (5.11e-01)
%END% (1.68e-01)
loader (1.51e-01)
asset (9.73e-02)
task (5.57e-02)
desc (1.72e-03)
load (5.97e-04)
type (5.03e-04)
class (4.39e-04)
reflection (4.25e-04)
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
asset
desc
.
type
,
asset
desc
.
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
asset
desc
.
type
)
)
;
tasks
.
push
(
new
asset
loading
task
(
this
,
asset
desc
,
loader
,
executor
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
asset
desc
.
type
,
asset
desc
.
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
asset
desc
.
type
)
)
;
tasks
.
push
(
new
asset
loading
task
(
this
,
asset
desc
,
loader
,
executor
)
)
;
}
<SENTENCE_END/>
%END%task (5.03e-01)
%END% (3.00e-01)
loader (1.13e-01)
loading (5.18e-02)
asset (3.59e-03)
desc (2.48e-03)
reflection (1.73e-03)
type (1.01e-03)
name (9.31e-04)
push (7.59e-04)
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
asset
desc
.
type
,
asset
desc
.
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
asset
desc
.
type
)
)
;
tasks
.
push
(
new
asset
loading
task
(
this
,
asset
desc
,
loader
,
executor
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loader
loader
=
get
loader
(
asset
desc
.
type
,
asset
desc
.
file
name
)
;
if
(
loader
==
null
)
throw
new
gdx
runtime
exception
(
"No loader for type: "
+
class
reflection
.
get
simple
name
(
asset
desc
.
type
)
)
;
tasks
.
push
(
new
asset
loading
task
(
this
,
asset
desc
,
loader
,
executor
)
)
;
}
<SENTENCE_END/>
add,assetaddget (4.71e-01)
load (1.54e-01)
set (6.71e-02)
%UNK% (2.14e-02)
parse (1.76e-02)
to (1.28e-02)
process (8.88e-03)
generate (8.25e-03)
save (7.94e-03)
copy (7.42e-03)
<SENTENCE_START>
{
asset
types
.
put
(
file
name
,
type
)
;
object
map
<
string
,
ref
counted
container
>
type
to
assets
=
assets
.
get
(
type
)
;
if
(
type
to
assets
==
null
)
{
type
to
assets
=
new
object
map
<
string
,
ref
counted
container
>
(
)
;
assets
.
put
(
type
,
type
to
assets
)
;
}
type
to
assets
.
put
(
file
name
,
new
ref
counted
container
(
asset
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
types
.
put
(
file
name
,
type
)
;
object
map
<
string
,
ref
counted
container
>
type
to
assets
=
assets
.
get
(
type
)
;
if
(
type
to
assets
==
null
)
{
type
to
assets
=
new
object
map
<
string
,
ref
counted
container
>
(
)
;
assets
.
put
(
type
,
type
to
assets
)
;
}
type
to
assets
.
put
(
file
name
,
new
ref
counted
container
(
asset
)
)
;
}
<SENTENCE_END/>
assetcontainer (1.39e-01)
%END% (1.33e-01)
assets (1.01e-01)
type (4.44e-02)
asset (4.17e-02)
to (3.23e-02)
counted (2.20e-02)
get (2.13e-02)
%UNK% (1.81e-02)
ref (1.53e-02)
<SENTENCE_START>
{
asset
types
.
put
(
file
name
,
type
)
;
object
map
<
string
,
ref
counted
container
>
type
to
assets
=
assets
.
get
(
type
)
;
if
(
type
to
assets
==
null
)
{
type
to
assets
=
new
object
map
<
string
,
ref
counted
container
>
(
)
;
assets
.
put
(
type
,
type
to
assets
)
;
}
type
to
assets
.
put
(
file
name
,
new
ref
counted
container
(
asset
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
types
.
put
(
file
name
,
type
)
;
object
map
<
string
,
ref
counted
container
>
type
to
assets
=
assets
.
get
(
type
)
;
if
(
type
to
assets
==
null
)
{
type
to
assets
=
new
object
map
<
string
,
ref
counted
container
>
(
)
;
assets
.
put
(
type
,
type
to
assets
)
;
}
type
to
assets
.
put
(
file
name
,
new
ref
counted
container
(
asset
)
)
;
}
<SENTENCE_END/>
%END%%END% (3.42e-01)
container (1.22e-01)
type (6.34e-02)
assets (5.62e-02)
to (2.55e-02)
counted (1.90e-02)
types (1.06e-02)
ref (9.54e-03)
map (8.94e-03)
object (6.97e-03)
<SENTENCE_START>
{
asset
types
.
put
(
file
name
,
type
)
;
object
map
<
string
,
ref
counted
container
>
type
to
assets
=
assets
.
get
(
type
)
;
if
(
type
to
assets
==
null
)
{
type
to
assets
=
new
object
map
<
string
,
ref
counted
container
>
(
)
;
assets
.
put
(
type
,
type
to
assets
)
;
}
type
to
assets
.
put
(
file
name
,
new
ref
counted
container
(
asset
)
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
types
.
put
(
file
name
,
type
)
;
object
map
<
string
,
ref
counted
container
>
type
to
assets
=
assets
.
get
(
type
)
;
if
(
type
to
assets
==
null
)
{
type
to
assets
=
new
object
map
<
string
,
ref
counted
container
>
(
)
;
assets
.
put
(
type
,
type
to
assets
)
;
}
type
to
assets
.
put
(
file
name
,
new
ref
counted
container
(
asset
)
)
;
}
<SENTENCE_END/>
update,taskupdate%END% (5.64e-01)
update (7.19e-02)
%UNK% (4.64e-02)
schedule (1.85e-02)
cancel (1.62e-02)
handle (1.38e-02)
action (1.20e-02)
post (8.26e-03)
render (8.19e-03)
task (7.72e-03)
<SENTENCE_START>
{
asset
loading
task
task
=
tasks
.
peek
(
)
;
boolean
complete
=
true
;
try
{
complete
=
task
.
cancel
||
task
.
update
(
)
;
}
catch
(
runtime
exception
ex
)
{
task
.
cancel
=
true
;
task
failed
(
task
.
asset
desc
,
ex
)
;
}
if
(
complete
)
{
if
(
tasks
.
size
(
)
==
1
)
loaded
++
;
tasks
.
pop
(
)
;
if
(
task
.
cancel
)
return
true
;
add
asset
(
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
,
task
.
get
asset
(
)
)
;
if
(
task
.
asset
desc
.
params
!=
null
&&
task
.
asset
desc
.
params
.
loaded
callback
!=
null
)
{
task
.
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
)
;
}
long
end
time
=
time
utils
.
nano
time
(
)
;
log
.
debug
(
"Loaded: "
+
(
end
time
-
task
.
start
time
)
/
1000000f
+
"ms "
+
task
.
asset
desc
)
;
return
true
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loading
task
task
=
tasks
.
peek
(
)
;
boolean
complete
=
true
;
try
{
complete
=
task
.
cancel
||
task
.
update
(
)
;
}
catch
(
runtime
exception
ex
)
{
task
.
cancel
=
true
;
task
failed
(
task
.
asset
desc
,
ex
)
;
}
if
(
complete
)
{
if
(
tasks
.
size
(
)
==
1
)
loaded
++
;
tasks
.
pop
(
)
;
if
(
task
.
cancel
)
return
true
;
add
asset
(
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
,
task
.
get
asset
(
)
)
;
if
(
task
.
asset
desc
.
params
!=
null
&&
task
.
asset
desc
.
params
.
loaded
callback
!=
null
)
{
task
.
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
)
;
}
long
end
time
=
time
utils
.
nano
time
(
)
;
log
.
debug
(
"Loaded: "
+
(
end
time
-
task
.
start
time
)
/
1000000f
+
"ms "
+
task
.
asset
desc
)
;
return
true
;
}
return
false
;
}
<SENTENCE_END/>
task%END% (4.74e-01)
loading (1.92e-01)
task (1.65e-01)
asset (2.46e-02)
time (8.80e-03)
params (7.95e-03)
desc (7.46e-03)
finished (3.80e-03)
end (2.92e-03)
nano (2.68e-03)
<SENTENCE_START>
{
asset
loading
task
task
=
tasks
.
peek
(
)
;
boolean
complete
=
true
;
try
{
complete
=
task
.
cancel
||
task
.
update
(
)
;
}
catch
(
runtime
exception
ex
)
{
task
.
cancel
=
true
;
task
failed
(
task
.
asset
desc
,
ex
)
;
}
if
(
complete
)
{
if
(
tasks
.
size
(
)
==
1
)
loaded
++
;
tasks
.
pop
(
)
;
if
(
task
.
cancel
)
return
true
;
add
asset
(
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
,
task
.
get
asset
(
)
)
;
if
(
task
.
asset
desc
.
params
!=
null
&&
task
.
asset
desc
.
params
.
loaded
callback
!=
null
)
{
task
.
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
)
;
}
long
end
time
=
time
utils
.
nano
time
(
)
;
log
.
debug
(
"Loaded: "
+
(
end
time
-
task
.
start
time
)
/
1000000f
+
"ms "
+
task
.
asset
desc
)
;
return
true
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loading
task
task
=
tasks
.
peek
(
)
;
boolean
complete
=
true
;
try
{
complete
=
task
.
cancel
||
task
.
update
(
)
;
}
catch
(
runtime
exception
ex
)
{
task
.
cancel
=
true
;
task
failed
(
task
.
asset
desc
,
ex
)
;
}
if
(
complete
)
{
if
(
tasks
.
size
(
)
==
1
)
loaded
++
;
tasks
.
pop
(
)
;
if
(
task
.
cancel
)
return
true
;
add
asset
(
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
,
task
.
get
asset
(
)
)
;
if
(
task
.
asset
desc
.
params
!=
null
&&
task
.
asset
desc
.
params
.
loaded
callback
!=
null
)
{
task
.
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
)
;
}
long
end
time
=
time
utils
.
nano
time
(
)
;
log
.
debug
(
"Loaded: "
+
(
end
time
-
task
.
start
time
)
/
1000000f
+
"ms "
+
task
.
asset
desc
)
;
return
true
;
}
return
false
;
}
<SENTENCE_END/>
%END%%END% (6.16e-01)
task (2.18e-01)
asset (1.07e-02)
time (8.51e-03)
loading (7.94e-03)
params (7.90e-03)
desc (6.65e-03)
tasks (2.94e-03)
cancel (2.10e-03)
end (1.98e-03)
<SENTENCE_START>
{
asset
loading
task
task
=
tasks
.
peek
(
)
;
boolean
complete
=
true
;
try
{
complete
=
task
.
cancel
||
task
.
update
(
)
;
}
catch
(
runtime
exception
ex
)
{
task
.
cancel
=
true
;
task
failed
(
task
.
asset
desc
,
ex
)
;
}
if
(
complete
)
{
if
(
tasks
.
size
(
)
==
1
)
loaded
++
;
tasks
.
pop
(
)
;
if
(
task
.
cancel
)
return
true
;
add
asset
(
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
,
task
.
get
asset
(
)
)
;
if
(
task
.
asset
desc
.
params
!=
null
&&
task
.
asset
desc
.
params
.
loaded
callback
!=
null
)
{
task
.
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
)
;
}
long
end
time
=
time
utils
.
nano
time
(
)
;
log
.
debug
(
"Loaded: "
+
(
end
time
-
task
.
start
time
)
/
1000000f
+
"ms "
+
task
.
asset
desc
)
;
return
true
;
}
return
false
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
asset
loading
task
task
=
tasks
.
peek
(
)
;
boolean
complete
=
true
;
try
{
complete
=
task
.
cancel
||
task
.
update
(
)
;
}
catch
(
runtime
exception
ex
)
{
task
.
cancel
=
true
;
task
failed
(
task
.
asset
desc
,
ex
)
;
}
if
(
complete
)
{
if
(
tasks
.
size
(
)
==
1
)
loaded
++
;
tasks
.
pop
(
)
;
if
(
task
.
cancel
)
return
true
;
add
asset
(
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
,
task
.
get
asset
(
)
)
;
if
(
task
.
asset
desc
.
params
!=
null
&&
task
.
asset
desc
.
params
.
loaded
callback
!=
null
)
{
task
.
asset
desc
.
params
.
loaded
callback
.
finished
loading
(
this
,
task
.
asset
desc
.
file
name
,
task
.
asset
desc
.
type
)
;
}
long
end
time
=
time
utils
.
nano
time
(
)
;
log
.
debug
(
"Loaded: "
+
(
end
time
-
task
.
start
time
)
/
1000000f
+
"ms "
+
task
.
asset
desc
)
;
return
true
;
}
return
false
;
}
<SENTENCE_END/>
task,failedtaskthrow (2.66e-01)
exception (1.81e-01)
put (1.14e-01)
protected (1.00e-01)
%END% (6.12e-02)
list (2.58e-02)
array (2.04e-02)
compact (1.94e-02)
next (1.51e-02)
long (1.18e-02)
<SENTENCE_START>
{
throw
ex
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
throw
ex
;
}
<SENTENCE_END/>
failed%END% (9.92e-01)
array (1.11e-03)
offset (7.95e-04)
throw (7.31e-04)
double (5.33e-04)
long (3.77e-04)
bytes (3.13e-04)
before (2.10e-04)
ex (2.03e-04)
short (1.97e-04)
<SENTENCE_START>
{
throw
ex
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
throw
ex
;
}
<SENTENCE_END/>
%END%%END% (9.95e-01)
offset (5.75e-04)
array (4.30e-04)
value (4.25e-04)
double (2.76e-04)
20 (2.56e-04)
ex (2.36e-04)
only (1.88e-04)
before (1.51e-04)
throw (1.17e-04)
<SENTENCE_START>
{
throw
ex
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
throw
ex
;
}
<SENTENCE_END/>
increment,ref,counted,dependenciesincrementget (2.63e-01)
set (5.41e-02)
build (5.18e-02)
%UNK% (4.61e-02)
load (2.77e-02)
handle (2.68e-02)
destroy (2.66e-02)
update (2.59e-02)
ref (2.24e-02)
generate (2.22e-02)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
refcontainer (6.83e-01)
asset (1.33e-01)
%END% (5.19e-02)
types (3.61e-02)
counted (2.06e-02)
dependencies (1.08e-02)
dependency (6.17e-03)
class (5.02e-03)
ref (4.77e-03)
type (3.77e-03)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
counted%END% (3.17e-01)
asset (2.44e-01)
ref (1.45e-01)
types (7.42e-02)
get (1.72e-02)
dependency (1.50e-02)
type (1.34e-02)
container (1.30e-02)
dependencies (1.05e-02)
count (8.36e-03)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
dependencies%END% (9.25e-01)
ref (1.00e-02)
get (6.26e-03)
dependencies (4.26e-03)
type (3.67e-03)
asset (3.17e-03)
types (2.35e-03)
status (1.71e-03)
string (1.28e-03)
count (1.24e-03)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.32e-01)
ref (8.08e-03)
get (6.12e-03)
dependencies (3.79e-03)
type (3.30e-03)
asset (2.26e-03)
types (1.93e-03)
status (1.64e-03)
string (1.20e-03)
count (1.19e-03)
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
parent
)
;
if
(
dependencies
==
null
)
return
;
for
(
string
dependency
:
dependencies
)
{
class
type
=
asset
types
.
get
(
dependency
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
dependency
)
;
asset
ref
.
inc
ref
count
(
)
;
%SELF%
(
dependency
)
;
}
}
<SENTENCE_END/>
handle,task,errorhandle%END% (3.66e-01)
update (7.12e-02)
%UNK% (3.67e-02)
handle (3.30e-02)
loading (2.42e-02)
asset (2.32e-02)
task (1.77e-02)
save (1.70e-02)
action (1.47e-02)
set (9.46e-03)
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
tasktask (3.92e-01)
loading (3.11e-01)
%END% (2.39e-01)
asset (1.51e-02)
descriptor (5.33e-03)
dependencies (2.30e-03)
desc (2.13e-03)
listener (2.00e-03)
tasks (1.52e-03)
t (1.06e-03)
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
error%END% (5.07e-01)
task (3.97e-01)
desc (7.38e-03)
asset (6.53e-03)
loading (4.66e-03)
descriptor (4.32e-03)
listener (4.07e-03)
tasks (2.82e-03)
t (2.69e-03)
dependencies (2.38e-03)
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
%END%%END% (9.50e-01)
task (3.00e-02)
desc (1.10e-03)
asset (6.11e-04)
all (4.47e-04)
dependencies (4.12e-04)
%UNK% (4.00e-04)
and (3.43e-04)
listener (3.42e-04)
tasks (3.33e-04)
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
.
error
(
"Error loading asset."
,
t
)
;
if
(
tasks
.
is
empty
(
)
)
throw
new
gdx
runtime
exception
(
t
)
;
asset
loading
task
task
=
tasks
.
pop
(
)
;
asset
descriptor
asset
desc
=
task
.
asset
desc
;
if
(
task
.
dependencies
loaded
&&
task
.
dependencies
!=
null
)
{
for
(
asset
descriptor
desc
:
task
.
dependencies
)
{
unload
(
desc
.
file
name
)
;
}
}
tasks
.
clear
(
)
;
if
(
listener
!=
null
)
{
listener
.
error
(
asset
desc
,
t
)
;
}
else
{
throw
new
gdx
runtime
exception
(
t
)
;
}
}
<SENTENCE_END/>
set,loadersetbegin (1.43e-01)
set (9.57e-02)
add (5.18e-02)
init (3.56e-02)
end (3.43e-02)
color (2.96e-02)
action (2.94e-02)
draw (2.91e-02)
apply (2.88e-02)
%UNK% (2.39e-02)
<SENTENCE_START>
{
%SELF%
(
type
,
null
,
loader
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
type
,
null
,
loader
)
;
}
<SENTENCE_END/>
loader%END% (9.85e-01)
type (3.11e-03)
loader (2.30e-03)
by (1.63e-03)
animation (8.86e-04)
all (3.46e-04)
locations (2.16e-04)
%UNK% (1.78e-04)
performed (1.64e-04)
from (1.23e-04)
<SENTENCE_START>
{
%SELF%
(
type
,
null
,
loader
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
type
,
null
,
loader
)
;
}
<SENTENCE_END/>
%END%%END% (9.90e-01)
loader (1.32e-03)
type (7.27e-04)
null (4.42e-04)
by (3.72e-04)
animation (3.60e-04)
all (3.48e-04)
value (2.59e-04)
locations (1.57e-04)
%UNK% (1.39e-04)
<SENTENCE_START>
{
%SELF%
(
type
,
null
,
loader
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
%SELF%
(
type
,
null
,
loader
)
;
}
<SENTENCE_END/>
set,loadersetset (3.09e-01)
load (1.54e-01)
get (1.30e-01)
add (6.31e-02)
%UNK% (2.79e-02)
update (1.14e-02)
process (9.33e-03)
create (9.10e-03)
init (9.02e-03)
pack (8.53e-03)
<SENTENCE_START>
{
if
(
type
==
null
)
throw
new
illegal
argument
exception
(
"type cannot be null."
)
;
if
(
loader
==
null
)
throw
new
illegal
argument
exception
(
"loader cannot be null."
)
;
log
.
debug
(
"Loader set: "
+
class
reflection
.
get
simple
name
(
type
)
+
" -> "
+
class
reflection
.
get
simple
name
(
loader
.
get
class
(
)
)
)
;
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
)
this
.
loaders
.
put
(
type
,
loaders
=
new
object
map
<
string
,
asset
loader
>
(
)
)
;
loaders
.
put
(
suffix
==
null
?
""
:
suffix
,
loader
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
type
==
null
)
throw
new
illegal
argument
exception
(
"type cannot be null."
)
;
if
(
loader
==
null
)
throw
new
illegal
argument
exception
(
"loader cannot be null."
)
;
log
.
debug
(
"Loader set: "
+
class
reflection
.
get
simple
name
(
type
)
+
" -> "
+
class
reflection
.
get
simple
name
(
loader
.
get
class
(
)
)
)
;
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
)
this
.
loaders
.
put
(
type
,
loaders
=
new
object
map
<
string
,
asset
loader
>
(
)
)
;
loaders
.
put
(
suffix
==
null
?
""
:
suffix
,
loader
)
;
}
<SENTENCE_END/>
loader%END% (6.26e-01)
%UNK% (4.64e-02)
loader (3.06e-02)
suffix (1.44e-02)
loaders (1.08e-02)
type (1.02e-02)
get (9.03e-03)
string (8.06e-03)
class (7.93e-03)
asset (7.15e-03)
<SENTENCE_START>
{
if
(
type
==
null
)
throw
new
illegal
argument
exception
(
"type cannot be null."
)
;
if
(
loader
==
null
)
throw
new
illegal
argument
exception
(
"loader cannot be null."
)
;
log
.
debug
(
"Loader set: "
+
class
reflection
.
get
simple
name
(
type
)
+
" -> "
+
class
reflection
.
get
simple
name
(
loader
.
get
class
(
)
)
)
;
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
)
this
.
loaders
.
put
(
type
,
loaders
=
new
object
map
<
string
,
asset
loader
>
(
)
)
;
loaders
.
put
(
suffix
==
null
?
""
:
suffix
,
loader
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
type
==
null
)
throw
new
illegal
argument
exception
(
"type cannot be null."
)
;
if
(
loader
==
null
)
throw
new
illegal
argument
exception
(
"loader cannot be null."
)
;
log
.
debug
(
"Loader set: "
+
class
reflection
.
get
simple
name
(
type
)
+
" -> "
+
class
reflection
.
get
simple
name
(
loader
.
get
class
(
)
)
)
;
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
)
this
.
loaders
.
put
(
type
,
loaders
=
new
object
map
<
string
,
asset
loader
>
(
)
)
;
loaders
.
put
(
suffix
==
null
?
""
:
suffix
,
loader
)
;
}
<SENTENCE_END/>
%END%%END% (8.59e-01)
%UNK% (1.04e-02)
loader (1.04e-02)
loaders (5.45e-03)
reflection (4.65e-03)
type (3.25e-03)
class (3.23e-03)
string (3.15e-03)
suffix (3.01e-03)
name (2.85e-03)
<SENTENCE_START>
{
if
(
type
==
null
)
throw
new
illegal
argument
exception
(
"type cannot be null."
)
;
if
(
loader
==
null
)
throw
new
illegal
argument
exception
(
"loader cannot be null."
)
;
log
.
debug
(
"Loader set: "
+
class
reflection
.
get
simple
name
(
type
)
+
" -> "
+
class
reflection
.
get
simple
name
(
loader
.
get
class
(
)
)
)
;
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
)
this
.
loaders
.
put
(
type
,
loaders
=
new
object
map
<
string
,
asset
loader
>
(
)
)
;
loaders
.
put
(
suffix
==
null
?
""
:
suffix
,
loader
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
type
==
null
)
throw
new
illegal
argument
exception
(
"type cannot be null."
)
;
if
(
loader
==
null
)
throw
new
illegal
argument
exception
(
"loader cannot be null."
)
;
log
.
debug
(
"Loader set: "
+
class
reflection
.
get
simple
name
(
type
)
+
" -> "
+
class
reflection
.
get
simple
name
(
loader
.
get
class
(
)
)
)
;
object
map
<
string
,
asset
loader
>
loaders
=
this
.
loaders
.
get
(
type
)
;
if
(
loaders
==
null
)
this
.
loaders
.
put
(
type
,
loaders
=
new
object
map
<
string
,
asset
loader
>
(
)
)
;
loaders
.
put
(
suffix
==
null
?
""
:
suffix
,
loader
)
;
}
<SENTENCE_END/>
get,loaded,assetsgetget (9.78e-01)
is (5.42e-03)
asset (4.07e-03)
resolve (3.51e-03)
return (2.14e-03)
types (1.58e-03)
iterator (4.54e-04)
as (4.17e-04)
declared (3.66e-04)
instance (3.51e-04)
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
loadedasset (9.43e-01)
types (5.24e-02)
resolve (1.94e-03)
%END% (1.28e-03)
return (1.59e-04)
atlas (1.48e-04)
declared (1.22e-04)
size (1.18e-04)
loading (7.04e-05)
get (4.66e-05)
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
assetstypes (5.80e-01)
%END% (1.73e-01)
size (5.20e-02)
asset (1.69e-02)
atlas (2.84e-04)
file (2.65e-04)
value (2.18e-04)
data (2.06e-04)
object (1.83e-04)
type (1.30e-04)
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
%END%%END% (9.68e-01)
size (7.49e-03)
value (2.60e-03)
types (1.80e-03)
20 (8.64e-04)
only (7.52e-04)
file (4.70e-04)
accessible (4.35e-04)
array (3.96e-04)
offset (3.30e-04)
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
size
;
}
<SENTENCE_END/>
get,queued,assetsgetget (3.35e-01)
add (1.49e-01)
is (1.35e-01)
clear (8.40e-02)
load (7.10e-02)
find (3.65e-02)
remove (2.71e-02)
size (1.11e-02)
set (9.05e-03)
compute (6.31e-03)
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
queued%END% (5.21e-01)
size (6.52e-02)
clear (4.26e-02)
queue (3.55e-02)
all (1.66e-02)
add (1.45e-02)
%UNK% (1.14e-02)
update (1.00e-02)
count (8.34e-03)
load (6.42e-03)
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
assets%END% (9.05e-01)
size (1.63e-02)
all (1.03e-02)
%UNK% (2.76e-03)
count (2.62e-03)
array (2.57e-03)
value (2.31e-03)
height (2.06e-03)
queue (1.71e-03)
width (1.19e-03)
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.76e-01)
size (3.23e-03)
all (1.97e-03)
queue (1.92e-03)
value (1.12e-03)
array (6.71e-04)
count (5.34e-04)
load (5.21e-04)
tasks (4.01e-04)
return (3.83e-04)
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
load
queue
.
size
+
tasks
.
size
(
)
;
}
<SENTENCE_END/>
get,progressgetget (7.39e-01)
load (1.96e-01)
is (1.80e-02)
to (7.22e-03)
set (7.01e-03)
loaded (2.50e-03)
read (2.07e-03)
%UNK% (1.43e-03)
return (1.43e-03)
append (1.04e-03)
<SENTENCE_START>
{
if
(
to
load
==
0
)
return
1
;
return
math
.
min
(
1
,
loaded
/
(
float
)
to
load
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
to
load
==
0
)
return
1
;
return
math
.
min
(
1
,
loaded
/
(
float
)
to
load
)
;
}
<SENTENCE_END/>
progress%END% (2.71e-01)
loaded (1.93e-01)
to (1.18e-01)
%UNK% (3.88e-02)
string (3.15e-02)
load (1.85e-02)
get (1.55e-02)
value (1.27e-02)
float (7.98e-03)
read (7.73e-03)
<SENTENCE_START>
{
if
(
to
load
==
0
)
return
1
;
return
math
.
min
(
1
,
loaded
/
(
float
)
to
load
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
to
load
==
0
)
return
1
;
return
math
.
min
(
1
,
loaded
/
(
float
)
to
load
)
;
}
<SENTENCE_END/>
%END%%END% (8.56e-01)
to (2.01e-02)
string (1.43e-02)
value (7.68e-03)
%UNK% (5.90e-03)
float (5.03e-03)
loaded (4.08e-03)
array (2.56e-03)
buffer (2.15e-03)
int (2.13e-03)
<SENTENCE_START>
{
if
(
to
load
==
0
)
return
1
;
return
math
.
min
(
1
,
loaded
/
(
float
)
to
load
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
if
(
to
load
==
0
)
return
1
;
return
math
.
min
(
1
,
loaded
/
(
float
)
to
load
)
;
}
<SENTENCE_END/>
set,error,listenersetset (9.87e-01)
listener (4.92e-03)
add (8.32e-04)
this (5.33e-04)
stop (5.16e-04)
reset (3.69e-04)
initialize (2.90e-04)
translate (2.11e-04)
clear (1.87e-04)
setup (1.33e-04)
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
errorlistener (9.80e-01)
change (1.16e-02)
%END% (1.73e-03)
fire (1.66e-03)
capture (5.44e-04)
released (3.96e-04)
events (3.44e-04)
title (2.28e-04)
hook (2.16e-04)
initialize (2.04e-04)
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
listener%END% (9.63e-01)
listener (2.16e-02)
change (4.96e-04)
title (3.81e-04)
released (3.22e-04)
value (2.89e-04)
display (2.77e-04)
fv (2.70e-04)
mode (2.31e-04)
count (2.21e-04)
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
%END%%END% (9.86e-01)
listener (3.64e-03)
value (5.49e-04)
fv (4.62e-04)
20 (2.94e-04)
only (2.44e-04)
display (2.32e-04)
2 (2.10e-04)
title (1.98e-04)
height (1.77e-04)
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
this
.
listener
=
listener
;
}
<SENTENCE_END/>
clearclearload (1.28e-01)
%UNK% (6.51e-02)
get (5.62e-02)
parse (4.35e-02)
%END% (3.79e-02)
update (3.12e-02)
to (3.03e-02)
add (2.95e-02)
build (2.55e-02)
set (1.48e-02)
<SENTENCE_START>
{
load
queue
.
%SELF%
(
)
;
while
(
!
update
(
)
)
;
object
int
map
<
string
>
dependency
count
=
new
object
int
map
<
string
>
(
)
;
while
(
asset
types
.
size
>
0
)
{
dependency
count
.
%SELF%
(
)
;
array
<
string
>
assets
=
asset
types
.
keys
(
)
.
to
array
(
)
;
for
(
string
asset
:
assets
)
{
dependency
count
.
put
(
asset
,
0
)
;
}
for
(
string
asset
:
assets
)
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
asset
)
;
if
(
dependencies
==
null
)
continue
;
for
(
string
dependency
:
dependencies
)
{
int
count
=
dependency
count
.
get
(
dependency
,
0
)
;
count
++
;
dependency
count
.
put
(
dependency
,
count
)
;
}
}
for
(
string
asset
:
assets
)
{
if
(
dependency
count
.
get
(
asset
,
0
)
==
0
)
{
unload
(
asset
)
;
}
}
}
this
.
assets
.
%SELF%
(
)
;
this
.
asset
types
.
%SELF%
(
)
;
this
.
asset
dependencies
.
%SELF%
(
)
;
this
.
loaded
=
0
;
this
.
to
load
=
0
;
this
.
load
queue
.
%SELF%
(
)
;
this
.
tasks
.
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
load
queue
.
%SELF%
(
)
;
while
(
!
update
(
)
)
;
object
int
map
<
string
>
dependency
count
=
new
object
int
map
<
string
>
(
)
;
while
(
asset
types
.
size
>
0
)
{
dependency
count
.
%SELF%
(
)
;
array
<
string
>
assets
=
asset
types
.
keys
(
)
.
to
array
(
)
;
for
(
string
asset
:
assets
)
{
dependency
count
.
put
(
asset
,
0
)
;
}
for
(
string
asset
:
assets
)
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
asset
)
;
if
(
dependencies
==
null
)
continue
;
for
(
string
dependency
:
dependencies
)
{
int
count
=
dependency
count
.
get
(
dependency
,
0
)
;
count
++
;
dependency
count
.
put
(
dependency
,
count
)
;
}
}
for
(
string
asset
:
assets
)
{
if
(
dependency
count
.
get
(
asset
,
0
)
==
0
)
{
unload
(
asset
)
;
}
}
}
this
.
assets
.
%SELF%
(
)
;
this
.
asset
types
.
%SELF%
(
)
;
this
.
asset
dependencies
.
%SELF%
(
)
;
this
.
loaded
=
0
;
this
.
to
load
=
0
;
this
.
load
queue
.
%SELF%
(
)
;
this
.
tasks
.
%SELF%
(
)
;
}
<SENTENCE_END/>
%END%%END% (6.24e-01)
asset (2.75e-02)
string (1.98e-02)
%UNK% (1.64e-02)
dependency (1.55e-02)
dependencies (1.55e-02)
assets (1.50e-02)
to (1.22e-02)
count (8.72e-03)
all (8.09e-03)
<SENTENCE_START>
{
load
queue
.
%SELF%
(
)
;
while
(
!
update
(
)
)
;
object
int
map
<
string
>
dependency
count
=
new
object
int
map
<
string
>
(
)
;
while
(
asset
types
.
size
>
0
)
{
dependency
count
.
%SELF%
(
)
;
array
<
string
>
assets
=
asset
types
.
keys
(
)
.
to
array
(
)
;
for
(
string
asset
:
assets
)
{
dependency
count
.
put
(
asset
,
0
)
;
}
for
(
string
asset
:
assets
)
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
asset
)
;
if
(
dependencies
==
null
)
continue
;
for
(
string
dependency
:
dependencies
)
{
int
count
=
dependency
count
.
get
(
dependency
,
0
)
;
count
++
;
dependency
count
.
put
(
dependency
,
count
)
;
}
}
for
(
string
asset
:
assets
)
{
if
(
dependency
count
.
get
(
asset
,
0
)
==
0
)
{
unload
(
asset
)
;
}
}
}
this
.
assets
.
%SELF%
(
)
;
this
.
asset
types
.
%SELF%
(
)
;
this
.
asset
dependencies
.
%SELF%
(
)
;
this
.
loaded
=
0
;
this
.
to
load
=
0
;
this
.
load
queue
.
%SELF%
(
)
;
this
.
tasks
.
%SELF%
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
load
queue
.
%SELF%
(
)
;
while
(
!
update
(
)
)
;
object
int
map
<
string
>
dependency
count
=
new
object
int
map
<
string
>
(
)
;
while
(
asset
types
.
size
>
0
)
{
dependency
count
.
%SELF%
(
)
;
array
<
string
>
assets
=
asset
types
.
keys
(
)
.
to
array
(
)
;
for
(
string
asset
:
assets
)
{
dependency
count
.
put
(
asset
,
0
)
;
}
for
(
string
asset
:
assets
)
{
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
asset
)
;
if
(
dependencies
==
null
)
continue
;
for
(
string
dependency
:
dependencies
)
{
int
count
=
dependency
count
.
get
(
dependency
,
0
)
;
count
++
;
dependency
count
.
put
(
dependency
,
count
)
;
}
}
for
(
string
asset
:
assets
)
{
if
(
dependency
count
.
get
(
asset
,
0
)
==
0
)
{
unload
(
asset
)
;
}
}
}
this
.
assets
.
%SELF%
(
)
;
this
.
asset
types
.
%SELF%
(
)
;
this
.
asset
dependencies
.
%SELF%
(
)
;
this
.
loaded
=
0
;
this
.
to
load
=
0
;
this
.
load
queue
.
%SELF%
(
)
;
this
.
tasks
.
%SELF%
(
)
;
}
<SENTENCE_END/>
get,loggergetlog (5.18e-01)
get (3.60e-01)
is (7.69e-02)
run (1.21e-02)
instance (4.79e-03)
on (3.84e-03)
%UNK% (3.65e-03)
mouse (2.40e-03)
return (1.16e-03)
should (1.11e-03)
<SENTENCE_START>
{
return
log
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
log
;
}
<SENTENCE_END/>
loggerlog (9.98e-01)
return (1.55e-03)
run (1.41e-04)
on (1.27e-05)
changed (2.32e-06)
notify (1.34e-06)
check (6.72e-07)
pause (4.21e-07)
%UNK% (3.03e-07)
wake (2.53e-07)
<SENTENCE_START>
{
return
log
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
log
;
}
<SENTENCE_END/>
%END%%END% (8.13e-01)
log (2.51e-02)
changed (1.50e-02)
%UNK% (1.44e-02)
accessible (8.27e-03)
value (5.75e-03)
title (5.70e-03)
display (3.88e-03)
positions (2.79e-03)
equal (2.74e-03)
<SENTENCE_START>
{
return
log
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
log
;
}
<SENTENCE_END/>
set,loggersetlog (7.09e-01)
run (2.83e-01)
set (2.11e-03)
create (6.33e-04)
on (5.50e-04)
setup (4.58e-04)
finish (3.57e-04)
logger (1.58e-04)
main (1.04e-04)
stop (8.84e-05)
<SENTENCE_START>
{
log
=
logger
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
=
logger
;
}
<SENTENCE_END/>
loggerlog (9.92e-01)
run (3.64e-03)
logger (4.83e-04)
notify (2.43e-04)
on (2.28e-04)
changed (1.97e-04)
%END% (1.33e-04)
%UNK% (5.49e-05)
finish (5.31e-05)
pause (3.49e-05)
<SENTENCE_START>
{
log
=
logger
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
=
logger
;
}
<SENTENCE_END/>
%END%%END% (9.79e-01)
log (3.40e-03)
display (1.03e-03)
value (7.83e-04)
title (6.66e-04)
%UNK% (6.38e-04)
performed (5.83e-04)
changed (4.63e-04)
20 (4.06e-04)
only (3.98e-04)
<SENTENCE_START>
{
log
=
logger
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
log
=
logger
;
}
<SENTENCE_END/>
get,reference,countgetget (9.34e-01)
load (9.64e-03)
obtain (5.38e-03)
set (5.12e-03)
type (2.92e-03)
return (1.85e-03)
is (1.74e-03)
file (1.43e-03)
ref (1.42e-03)
%UNK% (1.33e-03)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
referenceref (1.97e-01)
asset (1.46e-01)
assets (1.06e-01)
types (1.05e-01)
%END% (8.08e-02)
get (5.61e-02)
type (4.45e-02)
file (3.02e-02)
count (2.44e-02)
name (1.99e-02)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
count%END% (5.10e-01)
count (1.69e-01)
types (5.88e-02)
ref (4.23e-02)
type (2.77e-02)
file (1.72e-02)
name (1.35e-02)
get (1.20e-02)
assets (6.50e-03)
asset (6.11e-03)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.42e-01)
count (8.15e-03)
type (4.55e-03)
file (3.05e-03)
name (2.81e-03)
get (2.71e-03)
types (2.33e-03)
string (1.50e-03)
ref (1.36e-03)
assets (1.19e-03)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
return
assets
.
get
(
type
)
.
get
(
file
name
)
.
get
ref
count
(
)
;
}
<SENTENCE_END/>
set,reference,countsetget (5.73e-01)
set (1.62e-01)
load (6.19e-02)
obtain (2.90e-02)
%UNK% (1.17e-02)
save (6.45e-03)
process (5.97e-03)
generate (4.64e-03)
add (4.51e-03)
type (4.48e-03)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
referenceref (2.91e-01)
%END% (1.65e-01)
asset (1.47e-01)
types (9.87e-02)
count (6.58e-02)
assets (5.08e-02)
type (3.56e-02)
file (1.36e-02)
name (9.29e-03)
class (7.89e-03)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
countcount (4.76e-01)
%END% (3.04e-01)
ref (5.82e-02)
types (4.04e-02)
type (1.57e-02)
file (6.61e-03)
assets (4.99e-03)
name (4.99e-03)
get (4.73e-03)
asset (3.75e-03)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
%END%%END% (9.31e-01)
count (2.11e-02)
type (5.41e-03)
get (3.39e-03)
file (2.15e-03)
types (1.89e-03)
ref (1.75e-03)
assets (1.56e-03)
name (1.38e-03)
attribute (7.36e-04)
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
class
type
=
asset
types
.
get
(
file
name
)
;
if
(
type
==
null
)
throw
new
gdx
runtime
exception
(
"Asset not loaded: "
+
file
name
)
;
assets
.
get
(
type
)
.
get
(
file
name
)
.
set
ref
count
(
ref
count
)
;
}
<SENTENCE_END/>
get,diagnosticsgetget (3.89e-01)
%UNK% (6.19e-02)
load (4.91e-02)
parse (3.38e-02)
to (2.89e-02)
set (2.42e-02)
append (2.12e-02)
build (1.75e-02)
new (1.59e-02)
add (1.36e-02)
<SENTENCE_START>
{
string
buffer
buffer
=
new
string
buffer
(
)
;
for
(
string
file
name
:
asset
types
.
keys
(
)
)
{
buffer
.
append
(
file
name
)
;
buffer
.
append
(
", "
)
;
class
type
=
asset
types
.
get
(
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
buffer
.
append
(
class
reflection
.
get
simple
name
(
type
)
)
;
buffer
.
append
(
", refs: "
)
;
buffer
.
append
(
asset
ref
.
get
ref
count
(
)
)
;
if
(
dependencies
!=
null
)
{
buffer
.
append
(
", deps: ["
)
;
for
(
string
dep
:
dependencies
)
{
buffer
.
append
(
dep
)
;
buffer
.
append
(
","
)
;
}
buffer
.
append
(
"]"
)
;
}
buffer
.
append
(
" "
)
;
}
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
buffer
buffer
=
new
string
buffer
(
)
;
for
(
string
file
name
:
asset
types
.
keys
(
)
)
{
buffer
.
append
(
file
name
)
;
buffer
.
append
(
", "
)
;
class
type
=
asset
types
.
get
(
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
buffer
.
append
(
class
reflection
.
get
simple
name
(
type
)
)
;
buffer
.
append
(
", refs: "
)
;
buffer
.
append
(
asset
ref
.
get
ref
count
(
)
)
;
if
(
dependencies
!=
null
)
{
buffer
.
append
(
", deps: ["
)
;
for
(
string
dep
:
dependencies
)
{
buffer
.
append
(
dep
)
;
buffer
.
append
(
","
)
;
}
buffer
.
append
(
"]"
)
;
}
buffer
.
append
(
" "
)
;
}
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
diagnosticscontainer (3.03e-01)
%END% (1.98e-01)
asset (1.39e-01)
dependencies (4.16e-02)
counted (2.59e-02)
buffer (2.24e-02)
ref (2.00e-02)
string (2.00e-02)
types (1.57e-02)
file (9.84e-03)
<SENTENCE_START>
{
string
buffer
buffer
=
new
string
buffer
(
)
;
for
(
string
file
name
:
asset
types
.
keys
(
)
)
{
buffer
.
append
(
file
name
)
;
buffer
.
append
(
", "
)
;
class
type
=
asset
types
.
get
(
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
buffer
.
append
(
class
reflection
.
get
simple
name
(
type
)
)
;
buffer
.
append
(
", refs: "
)
;
buffer
.
append
(
asset
ref
.
get
ref
count
(
)
)
;
if
(
dependencies
!=
null
)
{
buffer
.
append
(
", deps: ["
)
;
for
(
string
dep
:
dependencies
)
{
buffer
.
append
(
dep
)
;
buffer
.
append
(
","
)
;
}
buffer
.
append
(
"]"
)
;
}
buffer
.
append
(
" "
)
;
}
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
buffer
buffer
=
new
string
buffer
(
)
;
for
(
string
file
name
:
asset
types
.
keys
(
)
)
{
buffer
.
append
(
file
name
)
;
buffer
.
append
(
", "
)
;
class
type
=
asset
types
.
get
(
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
buffer
.
append
(
class
reflection
.
get
simple
name
(
type
)
)
;
buffer
.
append
(
", refs: "
)
;
buffer
.
append
(
asset
ref
.
get
ref
count
(
)
)
;
if
(
dependencies
!=
null
)
{
buffer
.
append
(
", deps: ["
)
;
for
(
string
dep
:
dependencies
)
{
buffer
.
append
(
dep
)
;
buffer
.
append
(
","
)
;
}
buffer
.
append
(
"]"
)
;
}
buffer
.
append
(
" "
)
;
}
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
%END%%END% (4.29e-01)
asset (9.17e-02)
ref (5.52e-02)
dependencies (3.47e-02)
buffer (3.27e-02)
types (2.09e-02)
string (1.96e-02)
container (1.88e-02)
get (1.62e-02)
file (1.51e-02)
<SENTENCE_START>
{
string
buffer
buffer
=
new
string
buffer
(
)
;
for
(
string
file
name
:
asset
types
.
keys
(
)
)
{
buffer
.
append
(
file
name
)
;
buffer
.
append
(
", "
)
;
class
type
=
asset
types
.
get
(
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
buffer
.
append
(
class
reflection
.
get
simple
name
(
type
)
)
;
buffer
.
append
(
", refs: "
)
;
buffer
.
append
(
asset
ref
.
get
ref
count
(
)
)
;
if
(
dependencies
!=
null
)
{
buffer
.
append
(
", deps: ["
)
;
for
(
string
dep
:
dependencies
)
{
buffer
.
append
(
dep
)
;
buffer
.
append
(
","
)
;
}
buffer
.
append
(
"]"
)
;
}
buffer
.
append
(
" "
)
;
}
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
string
buffer
buffer
=
new
string
buffer
(
)
;
for
(
string
file
name
:
asset
types
.
keys
(
)
)
{
buffer
.
append
(
file
name
)
;
buffer
.
append
(
", "
)
;
class
type
=
asset
types
.
get
(
file
name
)
;
ref
counted
container
asset
ref
=
assets
.
get
(
type
)
.
get
(
file
name
)
;
array
<
string
>
dependencies
=
asset
dependencies
.
get
(
file
name
)
;
buffer
.
append
(
class
reflection
.
get
simple
name
(
type
)
)
;
buffer
.
append
(
", refs: "
)
;
buffer
.
append
(
asset
ref
.
get
ref
count
(
)
)
;
if
(
dependencies
!=
null
)
{
buffer
.
append
(
", deps: ["
)
;
for
(
string
dep
:
dependencies
)
{
buffer
.
append
(
dep
)
;
buffer
.
append
(
","
)
;
}
buffer
.
append
(
"]"
)
;
}
buffer
.
append
(
" "
)
;
}
return
buffer
.
to
string
(
)
;
}
<SENTENCE_END/>
get,asset,namesgetget (9.04e-01)
is (3.64e-02)
to (7.31e-03)
as (5.81e-03)
asset (4.60e-03)
key (3.69e-03)
return (2.96e-03)
types (2.19e-03)
instance (1.74e-03)
can (1.38e-03)
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
assetasset (6.47e-01)
%END% (3.21e-01)
types (1.88e-02)
status (2.24e-03)
return (8.38e-04)
managed (6.67e-04)
by (4.68e-04)
object (4.48e-04)
array (4.29e-04)
to (3.98e-04)
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
names%END% (9.21e-01)
types (4.33e-02)
array (6.88e-03)
asset (3.86e-03)
to (2.38e-03)
keys (1.55e-03)
all (1.25e-03)
status (1.02e-03)
string (6.70e-04)
managed (3.96e-04)
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
%END%%END% (9.78e-01)
array (6.05e-03)
types (2.21e-03)
keys (1.81e-03)
to (7.56e-04)
all (4.62e-04)
string (3.57e-04)
fv (3.36e-04)
status (3.08e-04)
performed (2.28e-04)
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
keys
(
)
.
to
array
(
)
;
}
<SENTENCE_END/>
get,dependenciesgetget (9.57e-01)
resolve (1.63e-02)
asset (5.69e-03)
build (4.87e-03)
dependencies (2.36e-03)
return (1.40e-03)
is (6.97e-04)
handle (6.70e-04)
can (6.07e-04)
calc (5.79e-04)
<SENTENCE_START>
{
return
asset
dependencies
.
get
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
dependencies
.
get
(
file
name
)
;
}
<SENTENCE_END/>
dependenciesasset (7.47e-01)
dependencies (2.03e-01)
build (1.64e-02)
%END% (1.43e-02)
file (2.73e-03)
resolve (2.34e-03)
dependency (1.40e-03)
status (9.24e-04)
atlas (9.17e-04)
absolute (8.98e-04)
<SENTENCE_START>
{
return
asset
dependencies
.
get
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
dependencies
.
get
(
file
name
)
;
}
<SENTENCE_END/>
%END%dependencies (6.49e-01)
%END% (2.42e-01)
file (3.23e-03)
get (2.77e-03)
asset (2.18e-03)
name (2.15e-03)
atlas (4.06e-04)
descriptor (2.91e-04)
types (2.33e-04)
status (2.07e-04)
<SENTENCE_START>
{
return
asset
dependencies
.
get
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
dependencies
.
get
(
file
name
)
;
}
<SENTENCE_END/>
get,asset,typegetget (9.86e-01)
asset (4.24e-03)
return (2.27e-03)
types (1.67e-03)
file (5.53e-04)
resolve (3.89e-04)
is (3.03e-04)
name (2.31e-04)
declared (6.19e-05)
as (5.45e-05)
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
assetasset (9.69e-01)
types (2.66e-02)
resolve (1.77e-03)
%END% (1.15e-03)
return (1.74e-04)
atlas (1.45e-04)
declared (1.44e-04)
file (1.43e-04)
loading (8.63e-05)
name (5.51e-05)
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
typetypes (8.07e-01)
%END% (9.23e-02)
asset (6.69e-03)
file (2.77e-03)
name (2.69e-03)
get (2.66e-03)
atlas (1.89e-04)
descriptor (1.44e-04)
status (6.90e-05)
data (6.42e-05)
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
%END%%END% (9.18e-01)
types (1.26e-02)
get (8.80e-03)
file (2.48e-03)
name (1.01e-03)
value (5.75e-04)
descriptor (3.40e-04)
atlas (2.51e-04)
string (2.42e-04)
accessible (2.27e-04)
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
asset
types
.
get
(
file
name
)
;
}
<SENTENCE_END/>
get,singetis (6.44e-01)
get (1.80e-01)
decode (2.74e-02)
protected (1.56e-02)
length (1.53e-02)
encode (1.50e-02)
s (1.24e-02)
string (1.11e-02)
read (9.80e-03)
cross (8.62e-03)
<SENTENCE_START>
{
return
s
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
s
;
}
<SENTENCE_END/>
sins (9.71e-01)
decode (1.43e-02)
string (4.95e-03)
lines (4.20e-03)
encode (1.35e-03)
return (1.32e-03)
cross (9.97e-04)
char (5.70e-04)
double (1.43e-04)
float (1.13e-04)
<SENTENCE_START>
{
return
s
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
s
;
}
<SENTENCE_END/>
%END%%END% (7.34e-01)
string (5.13e-02)
double (1.84e-02)
float (1.44e-02)
buffer (9.72e-03)
char (9.63e-03)
endian (7.88e-03)
20 (7.33e-03)
array (5.65e-03)
lines (5.54e-03)
<SENTENCE_START>
{
return
s
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
s
;
}
<SENTENCE_END/>
get,cosgetget (9.13e-01)
is (7.51e-02)
iterator (4.02e-03)
return (1.16e-03)
needs (1.04e-03)
protected (6.72e-04)
c (5.89e-04)
owns (4.59e-04)
instance (2.84e-04)
as (1.68e-04)
<SENTENCE_START>
{
return
c
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
c
;
}
<SENTENCE_END/>
cosc (7.68e-01)
%END% (1.66e-01)
get (1.35e-02)
swig (9.05e-03)
instance (5.15e-03)
is (4.41e-03)
overlaps (4.21e-03)
return (2.69e-03)
take (2.05e-03)
%UNK% (1.82e-03)
<SENTENCE_START>
{
return
c
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
c
;
}
<SENTENCE_END/>
%END%%END% (9.58e-01)
c (1.16e-02)
value (2.08e-03)
20 (1.35e-03)
only (1.20e-03)
class (7.40e-04)
%UNK% (6.96e-04)
array (6.69e-04)
double (6.15e-04)
buffer (5.63e-04)
<SENTENCE_START>
{
return
c
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
c
;
}
<SENTENCE_END/>
setsetset (7.91e-01)
rotate (6.96e-02)
sin (1.18e-02)
cos (1.08e-02)
%UNK% (1.00e-02)
normalize (7.89e-03)
slerp (5.02e-03)
on (4.82e-03)
update (4.55e-03)
look (3.76e-03)
<SENTENCE_START>
{
s
=
math
utils
.
sin
(
angle
)
;
c
=
math
utils
.
cos
(
angle
)
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
s
=
math
utils
.
sin
(
angle
)
;
c
=
math
utils
.
cos
(
angle
)
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (6.19e-01)
rad (1.25e-01)
angle (1.18e-01)
from (1.32e-02)
%UNK% (8.37e-03)
sin (7.56e-03)
radians (6.85e-03)
cos (5.57e-03)
atan (4.74e-03)
bt (3.49e-03)
<SENTENCE_START>
{
s
=
math
utils
.
sin
(
angle
)
;
c
=
math
utils
.
cos
(
angle
)
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
s
=
math
utils
.
sin
(
angle
)
;
c
=
math
utils
.
cos
(
angle
)
;
return
this
;
}
<SENTENCE_END/>
setsetset (9.91e-01)
c (1.40e-03)
copy (1.20e-03)
other (8.65e-04)
s (5.88e-04)
choose (2.32e-04)
return (1.73e-04)
this (1.48e-04)
equals (1.24e-04)
same (9.48e-05)
<SENTENCE_START>
{
s
=
other
.
s
;
c
=
other
.
c
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
s
=
other
.
s
;
c
=
other
.
c
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.51e-01)
equals (8.54e-03)
to (3.63e-03)
set (2.41e-03)
c (2.03e-03)
%UNK% (1.42e-03)
this (1.39e-03)
copy (1.23e-03)
string (9.62e-04)
lines (7.59e-04)
<SENTENCE_START>
{
s
=
other
.
s
;
c
=
other
.
c
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
s
=
other
.
s
;
c
=
other
.
c
;
return
this
;
}
<SENTENCE_END/>
set,identitysetdecode (4.05e-01)
reset (1.35e-01)
set (1.07e-01)
init (3.87e-02)
encode (2.40e-02)
release (2.20e-02)
%UNK% (1.38e-02)
reverse (1.24e-02)
zero (1.23e-02)
end (1.21e-02)
<SENTENCE_START>
{
s
=
0
;
c
=
1
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
s
=
0
;
c
=
1
;
return
this
;
}
<SENTENCE_END/>
identity%END% (9.71e-01)
string (2.05e-03)
to (1.26e-03)
c (1.12e-03)
0 (9.96e-04)
array (7.95e-04)
1 (7.05e-04)
buffer (5.45e-04)
char (5.22e-04)
this (4.87e-04)
<SENTENCE_START>
{
s
=
0
;
c
=
1
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
s
=
0
;
c
=
1
;
return
this
;
}
<SENTENCE_END/>
%END%%END% (9.88e-01)
c (6.06e-04)
array (5.58e-04)
string (3.87e-04)
value (2.93e-04)
buffer (2.91e-04)
to (2.85e-04)
20 (2.61e-04)
2 (2.40e-04)
position (2.29e-04)
<SENTENCE_START>
{
s
=
0
;
c
=
1
;
return
this
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
s
=
0
;
c
=
1
;
return
this
;
}
<SENTENCE_END/>
get,anglegetget (5.50e-01)
angle (1.02e-01)
is (7.49e-02)
atan (6.96e-02)
abs (2.50e-02)
length (1.84e-02)
bt (1.81e-02)
%UNK% (1.14e-02)
percent (8.46e-03)
axis (5.84e-03)
<SENTENCE_START>
{
return
math
utils
.
atan
2
(
s
,
c
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
math
utils
.
atan
2
(
s
,
c
)
;
}
<SENTENCE_END/>
angleatan (8.04e-01)
angle (1.11e-01)
rad (4.69e-02)
2 (5.02e-03)
axis (2.48e-03)
%END% (2.30e-03)
from (2.28e-03)
radians (1.80e-03)
percent (1.79e-03)
float (1.19e-03)
<SENTENCE_START>
{
return
math
utils
.
atan
2
(
s
,
c
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
math
utils
.
atan
2
(
s
,
c
)
;
}
<SENTENCE_END/>
%END%%END% (8.36e-01)
rad (2.85e-02)
angle (1.41e-02)
2 (1.34e-02)
float (9.72e-03)
from (9.04e-03)
%UNK% (7.04e-03)
atan (4.89e-03)
endian (4.44e-03)
bt (2.28e-03)
<SENTENCE_START>
{
return
math
utils
.
atan
2
(
s
,
c
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
return
math
utils
.
atan
2
(
s
,
c
)
;
}
<SENTENCE_END/>
get,x,axisgetset (9.29e-01)
rotate (2.03e-02)
get (1.75e-02)
axis (4.92e-03)
x (2.24e-03)
%UNK% (1.92e-03)
translate (1.21e-03)
clamp (9.25e-04)
touch (9.07e-04)
angle (8.49e-04)
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
xaxis (3.98e-01)
rad (1.10e-01)
from (5.95e-02)
%END% (5.68e-02)
rotate (4.25e-02)
x (4.17e-02)
rotation (3.83e-02)
angle (2.26e-02)
axes (1.86e-02)
around (1.83e-02)
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
axis%END% (9.16e-01)
axis (1.45e-02)
from (5.31e-03)
%UNK% (4.50e-03)
rad (3.77e-03)
s (2.39e-03)
string (2.11e-03)
at (1.77e-03)
float (1.51e-03)
to (1.41e-03)
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
%END%%END% (9.78e-01)
axis (1.71e-03)
set (1.02e-03)
string (6.23e-04)
from (6.11e-04)
%UNK% (5.44e-04)
float (5.19e-04)
at (5.01e-04)
performed (4.61e-04)
rad (4.19e-04)
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
x
axis
.
set
(
c
,
s
)
;
}
<SENTENCE_END/>
get,y,axisgetset (1.84e-01)
get (1.22e-01)
rotate (8.06e-02)
%UNK% (5.72e-02)
mouse (4.60e-02)
sub (4.31e-02)
axis (3.49e-02)
cross (3.27e-02)
to (3.16e-02)
touch (2.48e-02)
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
y%END% (2.03e-01)
axis (2.00e-01)
rad (1.24e-01)
y (6.52e-02)
moved (3.57e-02)
from (3.43e-02)
rotation (3.10e-02)
angle (2.95e-02)
around (2.53e-02)
to (2.18e-02)
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
axis%END% (8.35e-01)
axis (1.60e-02)
%UNK% (1.34e-02)
from (1.06e-02)
at (6.95e-03)
string (6.90e-03)
rad (6.79e-03)
lines (5.76e-03)
to (5.53e-03)
float (4.27e-03)
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
%END%%END% (9.37e-01)
string (3.61e-03)
%UNK% (3.55e-03)
at (3.47e-03)
from (2.86e-03)
float (2.52e-03)
lines (2.30e-03)
axis (1.78e-03)
rad (1.46e-03)
set (1.04e-03)
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
y
axis
.
set
(
-
s
,
c
)
;
}
<SENTENCE_END/>
cloneclonerot (9.60e-01)
rotate (1.37e-02)
mul (1.22e-02)
copy (2.67e-03)
create (2.03e-03)
new (1.11e-03)
c (8.96e-04)
s (5.50e-04)
return (4.81e-04)
add (2.48e-04)
<SENTENCE_START>
{
rot
copy
=
new
rot
(
)
;
copy
.
s
=
s
;
copy
.
c
=
c
;
return
copy
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
rot
copy
=
new
rot
(
)
;
copy
.
s
=
s
;
copy
.
c
=
c
;
return
copy
;
}
<SENTENCE_END/>
%END%%END% (8.46e-01)
copy (5.10e-02)
to (2.09e-02)
c (1.28e-02)
%UNK% (3.54e-03)
string (3.48e-03)
return (2.49e-03)
new (2.19e-03)
array (2.03e-03)
parse (1.54e-03)
<SENTENCE_START>
{
rot
copy
=
new
rot
(
)
;
copy
.
s
=
s
;
copy
.
c
=
c
;
return
copy
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
rot
copy
=
new
rot
(
)
;
copy
.
s
=
s
;
copy
.
c
=
c
;
return
copy
;
}
<SENTENCE_END/>
mulmulmul (6.67e-01)
slerp (1.67e-01)
dot (3.96e-02)
q (2.80e-02)
set (1.20e-02)
cross (7.89e-03)
out (5.63e-03)
to (4.89e-03)
assert (4.47e-03)
get (4.00e-03)
<SENTENCE_START>
{
float
tempc
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
float
tempc
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
%END%%END% (1.89e-01)
mul (1.38e-01)
cross (1.06e-01)
out (1.03e-01)
trans (7.53e-02)
to (4.94e-02)
lines (4.80e-02)
unsafe (4.78e-02)
overlaps (3.71e-02)
rotational (2.04e-02)
<SENTENCE_START>
{
float
tempc
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
float
tempc
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
mul,unsafemulmul (5.78e-01)
slerp (1.66e-01)
assert (4.78e-02)
q (4.13e-02)
dot (3.42e-02)
equals (1.95e-02)
cross (1.22e-02)
set (1.05e-02)
out (8.12e-03)
get (7.55e-03)
<SENTENCE_START>
{
assert
(
r
!=
out
)
;
assert
(
q
!=
out
)
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
assert
(
r
!=
out
)
;
assert
(
q
!=
out
)
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
}
<SENTENCE_END/>
unsafeout (2.87e-01)
unsafe (1.14e-01)
mul (1.01e-01)
%END% (9.96e-02)
to (7.35e-02)
trans (7.06e-02)
cross (6.03e-02)
lines (2.08e-02)
overlaps (1.75e-02)
rotational (1.73e-02)
<SENTENCE_START>
{
assert
(
r
!=
out
)
;
assert
(
q
!=
out
)
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
assert
(
r
!=
out
)
;
assert
(
q
!=
out
)
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
}
<SENTENCE_END/>
%END%out (2.90e-01)
%END% (1.30e-01)
unsafe (1.23e-01)
mul (7.84e-02)
to (7.33e-02)
trans (6.90e-02)
cross (4.93e-02)
rotational (1.83e-02)
lines (1.79e-02)
overlaps (1.63e-02)
<SENTENCE_START>
{
assert
(
r
!=
out
)
;
assert
(
q
!=
out
)
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
assert
(
r
!=
out
)
;
assert
(
q
!=
out
)
;
out
.
s
=
q
.
s
*
r
.
c
+
q
.
c
*
r
.
s
;
out
.
c
=
q
.
c
*
r
.
c
-
q
.
s
*
r
.
s
;
}
<SENTENCE_END/>
mul,transmulmul (6.36e-01)
slerp (1.94e-01)
dot (4.48e-02)
q (3.07e-02)
set (1.23e-02)
cross (8.45e-03)
out (5.76e-03)
assert (4.29e-03)
get (4.17e-03)
to (4.11e-03)
<SENTENCE_START>
{
final
float
tempc
=
q
.
c
*
r
.
c
+
q
.
s
*
r
.
s
;
out
.
s
=
q
.
c
*
r
.
s
-
q
.
s
*
r
.
c
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
float
tempc
=
q
.
c
*
r
.
c
+
q
.
s
*
r
.
s
;
out
.
s
=
q
.
c
*
r
.
s
-
q
.
s
*
r
.
c
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
trans%END% (1.65e-01)
out (1.36e-01)
cross (1.18e-01)
mul (1.15e-01)
trans (7.90e-02)
unsafe (5.42e-02)
to (5.19e-02)
lines (4.54e-02)
overlaps (3.05e-02)
rotational (2.28e-02)
<SENTENCE_START>
{
final
float
tempc
=
q
.
c
*
r
.
c
+
q
.
s
*
r
.
s
;
out
.
s
=
q
.
c
*
r
.
s
-
q
.
s
*
r
.
c
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
float
tempc
=
q
.
c
*
r
.
c
+
q
.
s
*
r
.
s
;
out
.
s
=
q
.
c
*
r
.
s
-
q
.
s
*
r
.
c
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
%END%%END% (2.08e-01)
out (1.25e-01)
cross (1.13e-01)
mul (9.88e-02)
trans (7.87e-02)
unsafe (5.63e-02)
to (4.58e-02)
lines (4.07e-02)
overlaps (3.37e-02)
rotational (2.43e-02)
<SENTENCE_START>
{
final
float
tempc
=
q
.
c
*
r
.
c
+
q
.
s
*
r
.
s
;
out
.
s
=
q
.
c
*
r
.
s
-
q
.
s
*
r
.
c
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>
<SENTENCE_START>
{
final
float
tempc
=
q
.
c
*
r
.
c
+
q
.
s
*
r
.
s
;
out
.
s
=
q
.
c
*
r
.
s
-
q
.
s
*
r
.
c
;
out
.
c
=
tempc
;
}
<SENTENCE_END/>