Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Port both IdList and List to std::vector #433

Open
wants to merge 31 commits into
base: master
from

Conversation

Projects
None yet
2 participants
@rpavlik
Copy link
Contributor

commented May 23, 2019

WIP because it doesn't pass the tests. (All but the last two commits pass - those passing commits are in other PRs) Current test results:

Missing (absent) translation for group-name'#references'
Missing (absent) translation for group-name'sketch-in-plane'
  OK   test constraint/length_difference/normal_migrate_from_v22
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
test/constraint/pt_line_distance/test.cpp:21: FAILED: render doesn't match reference; 30 (0.01%) pixels differ
  NG   test constraint/pt_line_distance/free_in_3d_roundtrip
  OK   test core/path/from_raw
  OK   test constraint/proj_pt_distance/reference_migrate_from_v22
test/constraint/where_dragged/test.cpp:21: FAILED: render doesn't match reference; 46 (0.01%) pixels differ
  NG   test constraint/where_dragged/free_in_3d_roundtrip
  OK   test constraint/horizontal/line_migrate_from_v22
  OK   test core/path/extension
test/constraint/length_difference/test.cpp:5: FAILED: render doesn't match reference; 42 (0.01%) pixels differ
  NG   test constraint/length_difference/normal_roundtrip
  OK   test constraint/same_orientation/normal_migrate_from_v22
test/constraint/equal_angle/test.cpp:21: FAILED: render doesn't match reference; 59 (0.02%) pixels differ
  NG   test constraint/equal_angle/other_roundtrip
  OK   test constraint/symmetric/normal_migrate_from_v22
test/constraint/pt_pt_distance/test.cpp:37: FAILED: render doesn't match reference; 19 (0.01%) pixels differ
  NG   test constraint/pt_pt_distance/reference_roundtrip
test/constraint/equal_line_arc_len/test.cpp:26: FAILED: render doesn't match reference; 9 (0.00%) pixels differ
  NG   test constraint/equal_line_arc_len/tau
  OK   test core/expr/literal
  OK   test constraint/pt_on_line/normal_migrate_from_v22
  OK   test constraint/pt_line_distance/reference_migrate_from_v22
  OK   test constraint/pt_face_distance/normal_migrate_from_v20
test/constraint/angle/test.cpp:5: FAILED: render doesn't match reference; 25 (0.01%) pixels differ
  NG   test constraint/angle/normal_roundtrip
  OK   test constraint/diameter/normal_migrate_from_v20
test/constraint/symmetric/test.cpp:21: FAILED: render doesn't match reference; 1 (0.00%) pixels differ
  NG   test constraint/symmetric/free_in_3d_roundtrip
test/constraint/horizontal/test.cpp:21: FAILED: render doesn't match reference; 45 (0.01%) pixels differ
  NG   test constraint/horizontal/pt_pt_roundtrip
test/constraint/length_ratio/test.cpp:5: FAILED: render doesn't match reference; 37 (0.01%) pixels differ
  NG   test constraint/length_ratio/normal_roundtrip
test/constraint/pt_line_distance/test.cpp:53: FAILED: render doesn't match reference; 30 (0.01%) pixels differ
  NG   test constraint/pt_line_distance/extended_render
  OK   test constraint/at_midpoint/line_pt_free_in_3d_migrate_from_v22
test/constraint/angle/test.cpp:21: FAILED: render doesn't match reference; 25 (0.01%) pixels differ
  NG   test constraint/angle/free_in_3d_roundtrip
  OK   test constraint/cubic_line_tangent/normal_migrate_from_v20
test/constraint/points_coincident/test.cpp:5: FAILED: render doesn't match reference; 2 (0.00%) pixels differ
  NG   test constraint/points_coincident/normal_roundtrip
  OK   test constraint/at_midpoint/line_plane_normal_migrate_from_v22
test/constraint/equal_line_arc_len/test.cpp:5: FAILED: render doesn't match reference; 34 (0.01%) pixels differ
  NG   test constraint/equal_line_arc_len/normal_roundtrip
  OK   test constraint/comment/normal_migrate_from_v20
test/constraint/points_coincident/test.cpp:21: FAILED: render doesn't match reference; 2 (0.00%) pixels differ
  NG   test constraint/points_coincident/free_in_3d_roundtrip
  OK   test constraint/eq_pt_ln_distances/normal_migrate_from_v20
  OK   test core/path/is_absolute_unix
  OK   test constraint/proj_pt_distance/reference_migrate_from_v20
failed: I=8, avoid=870895808
print 870895840 edges
failed: I=9, avoid=870895808
print 870895840 edges
failed: I=10, avoid=870895808
print 870895840 edges
failed: I=11, avoid=870895808
print 870895840 edges
failed: I=8, avoid=870895808
print 870895840 edges
failed: I=9, avoid=870895808
print 870895840 edges
failed: I=10, avoid=870895808
print 870895840 edges
failed: I=11, avoid=870895808
print 870895840 edges
failed: I=14, avoid=870895808
print 870895840 edges
failed: I=15, avoid=870895808
print 870895840 edges
failed: I=16, avoid=870895808
print 870895840 edges
failed: I=17, avoid=870895808
print 870895840 edges
failed: I=20, avoid=870895808
print 870895840 edges
failed: I=21, avoid=870895808
print 870895840 edges
failed: I=22, avoid=870895808
print 870895840 edges
failed: I=23, avoid=870895808
print 870895840 edges
failed: I=8, avoid=870895808
print 870895840 edges
failed: I=9, avoid=870895808
print 870895840 edges
failed: I=10, avoid=870895808
print 870895840 edges
failed: I=11, avoid=870895808
print 870895840 edges
failed: I=14, avoid=870895808
print 870895840 edges
failed: I=15, avoid=870895808
print 870895840 edges
failed: I=16, avoid=870895808
print 870895840 edges
failed: I=17, avoid=870895808
print 870895840 edges
failed: I=20, avoid=870895808
print 870895840 edges
failed: I=21, avoid=870895808
print 870895840 edges
failed: I=22, avoid=870895808
print 870895840 edges
failed: I=23, avoid=870895808
print 870895840 edges
failed: I=26, avoid=870895808
print 870895840 edges
failed: I=27, avoid=870895808
print 870895840 edges
failed: I=28, avoid=870895808
print 870895840 edges
failed: I=29, avoid=870895808
print 870895840 edges
failed: I=32, avoid=870895808
print 870895840 edges
failed: I=33, avoid=870895808
print 870895840 edges
failed: I=34, avoid=870895808
print 870895840 edges
failed: I=35, avoid=870895808
print 870895840 edges
failed: I=38, avoid=870895808
print 870895840 edges
failed: I=39, avoid=870895808
print 870895840 edges
failed: I=40, avoid=870895808
print 870895840 edges
failed: I=41, avoid=870895808
print 870895840 edges
failed: I=44, avoid=870895808
print 870895840 edges
failed: I=45, avoid=870895808
print 870895840 edges
failed: I=46, avoid=870895808
print 870895840 edges
failed: I=47, avoid=870895808
print 870895840 edges
failed: I=50, avoid=870895808
print 870895840 edges
failed: I=51, avoid=870895808
print 870895840 edges
failed: I=52, avoid=870895808
print 870895840 edges
failed: I=53, avoid=870895808
print 870895840 edges
failed: I=56, avoid=870895808
print 870895840 edges
failed: I=57, avoid=870895808
print 870895840 edges
failed: I=58, avoid=870895808
print 870895840 edges
failed: I=59, avoid=870895808
print 870895840 edges
polygon has no top-level contours?
polygon has no top-level contours?
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
failed to assemble polygon to trim nurbs surface in uv space
test/group/translate_nd/test.cpp:5: FAILED: render doesn't match reference; 21683 (6.02%) pixels differ
  NG   test group/translate_nd/normal_roundtrip
  OK   test constraint/symmetric/normal_migrate_from_v20
  OK   test constraint/pt_in_plane/normal_migrate_from_v20
  OK   test constraint/equal_angle/other_migrate_from_v20
  OK   test constraint/curve_curve_tangent/arc_cubic_migrate_from_v20
  OK   test constraint/at_midpoint/line_plane_free_in_3d_migrate_from_v22
  OK   test constraint/proj_pt_distance/normal_migrate_from_v22
  OK   test request/cubic/normal_migrate_from_v20
test/request/cubic/test.cpp:5: FAILED: render doesn't match reference; 5 (0.00%) pixels differ
  NG   test request/cubic/normal_roundtrip
  OK   test constraint/pt_on_line/free_in_3d_migrate_from_v22
test/constraint/length_ratio/test.cpp:21: FAILED: render doesn't match reference; 37 (0.01%) pixels differ
  NG   test constraint/length_ratio/reference_roundtrip
  OK   test constraint/angle/reference_free_in_3d_migrate_from_v20
  OK   test constraint/equal_line_arc_len/normal_migrate_from_v22
test/analysis/contour_area/test.cpp:6: FAILED: render doesn't match reference; 68 (0.02%) pixels differ
  NG   test analysis/contour_area/normal_roundtrip
test/constraint/diameter/test.cpp:5: FAILED: render doesn't match reference; 22 (0.01%) pixels differ
  NG   test constraint/diameter/normal_roundtrip
  OK   test request/cubic_periodic/normal_migrate_from_v20
test/constraint/parallel/test.cpp:21: FAILED: render doesn't match reference; 29 (0.01%) pixels differ
  NG   test constraint/parallel/free_in_3d_roundtrip
test/constraint/same_orientation/test.cpp:21: FAILED: render doesn't match reference; 29 (0.01%) pixels differ
  NG   test constraint/same_orientation/same_group_roundtrip
  OK   test constraint/same_orientation/normal_migrate_from_v20
  OK   test constraint/pt_plane_distance/normal_migrate_from_v20
  OK   test core/path/file_stem
  OK   test constraint/curve_curve_tangent/arc_cubic_migrate_from_v22
  OK   test constraint/pt_line_distance/normal_migrate_from_v20
  OK   test constraint/equal_line_arc_len/normal_migrate_from_v20
test/constraint/vertical/test.cpp:21: FAILED: render doesn't match reference; 1 (0.00%) pixels differ
  NG   test constraint/vertical/pt_pt_roundtrip
  OK   test constraint/at_midpoint/line_pt_free_in_3d_migrate_from_v20
  OK   test constraint/angle/free_in_3d_migrate_from_v22
test/group/translate_asy/test.cpp:5: FAILED: render doesn't match reference; 1079 (0.30%) pixels differ
  NG   test group/translate_asy/normal_roundtrip
  OK   test constraint/horizontal/line_migrate_from_v20
test/request/line_segment/test.cpp:5: FAILED: render doesn't match reference; 27 (0.01%) pixels differ
  NG   test request/line_segment/normal_roundtrip
  OK   test constraint/pt_line_distance/free_in_3d_migrate_from_v22
  OK   test request/cubic/normal_migrate_from_v22
  OK   test core/expr/precedence
test/constraint/pt_pt_distance/test.cpp:5: FAILED: render doesn't match reference; 19 (0.01%) pixels differ
  NG   test constraint/pt_pt_distance/normal_roundtrip
  OK   test constraint/angle/normal_migrate_from_v22
  OK   test core/path/file_name
  OK   test core/path/from_portable
  OK   test constraint/angle/reference_free_in_3d_migrate_from_v22
  OK   test constraint/cubic_line_tangent/free_in_3d_migrate_from_v22
  OK   test constraint/points_coincident/free_in_3d_migrate_from_v20
  OK   test constraint/pt_on_face/normal_migrate_from_v22
test/constraint/comment/test.cpp:5: FAILED: render doesn't match reference; 1 (0.00%) pixels differ
  NG   test constraint/comment/normal_roundtrip
  OK   test group/link/normal_migrate_from_v20
  OK   test request/cubic_periodic/normal_migrate_from_v22
  OK   test constraint/length_ratio/reference_migrate_from_v20
  OK   test constraint/symmetric/free_in_3d_migrate_from_v20
  OK   test core/path/relative_to
test/constraint/symmetric_vert/test.cpp:5: FAILED: render doesn't match reference; 1 (0.00%) pixels differ
  NG   test constraint/symmetric_vert/normal_roundtrip
test/constraint/pt_on_line/test.cpp:27: FAILED: render doesn't match reference; 66 (0.02%) pixels differ
  NG   test constraint/pt_on_line/right_free_in_3d_roundtrip
  OK   test core/path/parent
  OK   test constraint/symmetric_line/normal_migrate_from_v20
  OK   test constraint/pt_plane_distance/normal_migrate_from_v22
  OK   test constraint/symmetric_horiz/normal_migrate_from_v20
test/constraint/at_midpoint/test.cpp:21: FAILED: render doesn't match reference; 66 (0.02%) pixels differ
  NG   test constraint/at_midpoint/line_pt_free_in_3d_roundtrip
test/constraint/cubic_line_tangent/test.cpp:21: FAILED: render doesn't match reference; 43 (0.01%) pixels differ
  NG   test constraint/cubic_line_tangent/free_in_3d_roundtrip
  OK   test core/expr/constant
  OK   test request/line_segment/normal_migrate_from_v20
test/constraint/eq_pt_ln_distances/test.cpp:5: FAILED: render doesn't match reference; 38 (0.01%) pixels differ
  NG   test constraint/eq_pt_ln_distances/normal_roundtrip
  OK   test core/expr/binary_ops
test/request/circle/test.cpp:5: FAILED: render doesn't match reference; 45 (0.01%) pixels differ
  NG   test request/circle/normal_roundtrip
  OK   test constraint/diameter/reference_migrate_from_v22
  OK   test core/expr/parentheses
test/request/circle/test.cpp:44: FAILED: render doesn't match reference; 1 (0.00%) pixels differ
  NG   test request/circle/free_in_3d_dof
  OK   test constraint/cubic_line_tangent/normal_migrate_from_v22
test/constraint/diameter/test.cpp:21: FAILED: render doesn't match reference; 22 (0.01%) pixels differ
  NG   test constraint/diameter/reference_roundtrip
test/constraint/parallel/test.cpp:5: FAILED: render doesn't match reference; 43 (0.01%) pixels differ
  NG   test constraint/parallel/normal_roundtrip
  OK   test core/expr/variable
test/request/datum_point/test.cpp:5: FAILED: render doesn't match reference; 46 (0.01%) pixels differ
  NG   test request/datum_point/normal_roundtrip
  OK   test constraint/parallel/normal_migrate_from_v20
  OK   test group/link/normal_migrate_from_v22
test/constraint/horizontal/test.cpp:5: FAILED: render doesn't match reference; 27 (0.01%) pixels differ
  NG   test constraint/horizontal/line_roundtrip
  OK   test group/translate_asy/normal_inters
test/constraint/arc_line_tangent/test.cpp:5: FAILED: render doesn't match reference; 48 (0.01%) pixels differ
  NG   test constraint/arc_line_tangent/normal_roundtrip
  OK   test core/locale/parseable
Missing (empty) translation for group-name'#references'
Missing (empty) translation for group-name'sketch-in-plane'
  OK   test request/circle/free_in_3d_migrate_from_v22
test/constraint/symmetric/test.cpp:5: FAILED: render doesn't match reference; 19 (0.01%) pixels differ
  NG   test constraint/symmetric/normal_roundtrip
test/constraint/eq_len_pt_line_d/test.cpp:5: FAILED: render doesn't match reference; 60 (0.02%) pixels differ
  NG   test constraint/eq_len_pt_line_d/normal_roundtrip
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
test/constraint/pt_line_distance/test.cpp:5: FAILED: render doesn't match reference; 30 (0.01%) pixels differ
  NG   test constraint/pt_line_distance/normal_roundtrip
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
test/constraint/pt_face_distance/test.cpp:21: FAILED: render doesn't match reference; 260 (0.07%) pixels differ
  NG   test constraint/pt_face_distance/reference_roundtrip
  OK   test constraint/symmetric_line/normal_migrate_from_v22
  OK   test constraint/arc_line_tangent/normal_migrate_from_v22
test/constraint/proj_pt_distance/test.cpp:21: FAILED: render doesn't match reference; 29 (0.01%) pixels differ
  NG   test constraint/proj_pt_distance/reference_roundtrip
  OK   test constraint/pt_pt_distance/reference_migrate_from_v20
  OK   test constraint/symmetric_vert/normal_migrate_from_v22
  OK   test constraint/pt_face_distance/reference_migrate_from_v22
test/request/workplane/test.cpp:5: FAILED: render doesn't match reference; 26 (0.01%) pixels differ
  NG   test request/workplane/normal_roundtrip
test/constraint/pt_on_circle/test.cpp:5: FAILED: render doesn't match reference; 32 (0.01%) pixels differ
  NG   test constraint/pt_on_circle/normal_roundtrip
  OK   test constraint/pt_on_circle/normal_migrate_from_v20
  OK   test constraint/pt_on_line/normal_migrate_from_v20
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
test/constraint/pt_line_distance/test.cpp:37: FAILED: render doesn't match reference; 30 (0.01%) pixels differ
  NG   test constraint/pt_line_distance/reference_roundtrip
  OK   test constraint/vertical/pt_pt_migrate_from_v22
test/constraint/cubic_line_tangent/test.cpp:5: FAILED: render doesn't match reference; 52 (0.01%) pixels differ
  NG   test constraint/cubic_line_tangent/normal_roundtrip
test/constraint/curve_curve_tangent/test.cpp:21: FAILED: render doesn't match reference; 63 (0.02%) pixels differ
  NG   test constraint/curve_curve_tangent/arc_cubic_roundtrip
test/constraint/equal_radius/test.cpp:5: FAILED: render doesn't match reference; 29 (0.01%) pixels differ
  NG   test constraint/equal_radius/normal_roundtrip
  OK   test constraint/curve_curve_tangent/arc_arc_migrate_from_v22
  OK   test core/path/relative_to_unix
  OK   test core/expr/unary_ops
test/constraint/symmetric_line/test.cpp:5: FAILED: render doesn't match reference; 14 (0.00%) pixels differ
  NG   test constraint/symmetric_line/normal_roundtrip
test/group/link/test.cpp:5: FAILED: render doesn't match reference; 47 (0.01%) pixels differ
  NG   test group/link/normal_roundtrip
  OK   test constraint/equal_radius/normal_migrate_from_v20
  OK   test constraint/perpendicular/normal_migrate_from_v22
  OK   test constraint/pt_line_distance/normal_migrate_from_v22
  OK   test constraint/pt_face_distance/reference_migrate_from_v20
test/constraint/vertical/test.cpp:5: FAILED: render doesn't match reference; 35 (0.01%) pixels differ
  NG   test constraint/vertical/line_roundtrip
  OK   test request/workplane/normal_migrate_from_v20
  OK   test constraint/angle/free_in_3d_migrate_from_v20
  OK   test constraint/symmetric/free_in_3d_migrate_from_v22
  OK   test constraint/equal_radius/normal_migrate_from_v22
  OK   test constraint/parallel/normal_migrate_from_v22
  OK   test constraint/diameter/normal_migrate_from_v22
  OK   test constraint/pt_plane_distance/reference_migrate_from_v20
  OK   test core/path/equals_unix
  OK   test constraint/equal_angle/normal_migrate_from_v20
  OK   test request/image/linked_roundtrip
test/request/ttf_text/test.cpp:5: FAILED: render doesn't match reference; 12 (0.00%) pixels differ
  NG   test request/ttf_text/normal_roundtrip
  OK   test constraint/vertical/line_migrate_from_v20
  OK   test request/datum_point/normal_migrate_from_v20
test/constraint/angle/test.cpp:37: FAILED: render doesn't match reference; 23 (0.01%) pixels differ
  NG   test constraint/angle/reference_roundtrip
test/constraint/at_midpoint/test.cpp:37: FAILED: render doesn't match reference; 1 (0.00%) pixels differ
  NG   test constraint/at_midpoint/line_plane_normal_roundtrip
  OK   test constraint/points_coincident/free_in_3d_migrate_from_v22
  OK   test constraint/where_dragged/free_in_3d_migrate_from_v20
  OK   test constraint/pt_on_circle/negative_dia
  OK   test constraint/diameter/reference_migrate_from_v20
test/constraint/angle/test.cpp:69: FAILED: render doesn't match reference; 22 (0.01%) pixels differ
  NG   test constraint/angle/skew_render
test/request/circle/test.cpp:21: FAILED: render doesn't match reference; 45 (0.01%) pixels differ
  NG   test request/circle/free_in_3d_roundtrip
  OK   test constraint/pt_on_line/free_in_3d_migrate_from_v20
  OK   test constraint/equal_length_lines/normal_migrate_from_v22
  OK   test constraint/at_midpoint/line_plane_normal_migrate_from_v20
  OK   test constraint/horizontal/pt_pt_migrate_from_v22
  OK   test constraint/pt_line_distance/free_in_3d_migrate_from_v20
  OK   test constraint/where_dragged/free_in_3d_migrate_from_v22
  OK   test constraint/points_coincident/normal_migrate_from_v20
  OK   test core/path/with_extension
  OK   test constraint/pt_pt_distance/reference_migrate_from_v22
  OK   test constraint/pt_pt_distance/free_in_3d_migrate_from_v20
  OK   test core/path/has_extension
  OK   test core/path/expand_from_cwd
  OK   test constraint/points_coincident/normal_migrate_from_v22
  OK   test constraint/pt_pt_distance/normal_migrate_from_v20
test/constraint/perpendicular/test.cpp:5: FAILED: render doesn't match reference; 5 (0.00%) pixels differ
  NG   test constraint/perpendicular/normal_roundtrip
  OK   test group/translate_asy/normal_migrate_from_v22
test/constraint/pt_pt_distance/test.cpp:21: FAILED: render doesn't match reference; 19 (0.01%) pixels differ
  NG   test constraint/pt_pt_distance/free_in_3d_roundtrip
  OK   test constraint/pt_on_face/normal_migrate_from_v20
failed: I=8, avoid=870895808
print 870895840 edges
failed: I=9, avoid=870895808
print 870895840 edges
failed: I=10, avoid=870895808
print 870895840 edges
failed: I=11, avoid=870895808
print 870895840 edges
failed: I=8, avoid=870895808
print 870895840 edges
failed: I=9, avoid=870895808
print 870895840 edges
failed: I=10, avoid=870895808
print 870895840 edges
failed: I=11, avoid=870895808
print 870895840 edges
failed: I=14, avoid=870895808
print 870895840 edges
failed: I=15, avoid=870895808
print 870895840 edges
failed: I=16, avoid=870895808
print 870895840 edges
failed: I=17, avoid=870895808
print 870895840 edges
failed: I=20, avoid=870895808
print 870895840 edges
failed: I=21, avoid=870895808
print 870895840 edges
failed: I=22, avoid=870895808
print 870895840 edges
failed: I=23, avoid=870895808
print 870895840 edges
failed: I=8, avoid=870895808
print 870895840 edges
failed: I=9, avoid=870895808
print 870895840 edges
failed: I=10, avoid=870895808
print 870895840 edges
failed: I=11, avoid=870895808
print 870895840 edges
failed: I=14, avoid=870895808
print 870895840 edges
failed: I=15, avoid=870895808
print 870895840 edges
failed: I=16, avoid=870895808
print 870895840 edges
failed: I=17, avoid=870895808
print 870895840 edges
failed: I=20, avoid=870895808
print 870895840 edges
failed: I=21, avoid=870895808
print 870895840 edges
failed: I=22, avoid=870895808
print 870895840 edges
failed: I=23, avoid=870895808
print 870895840 edges
failed: I=26, avoid=870895808
print 870895840 edges
failed: I=27, avoid=870895808
print 870895840 edges
failed: I=28, avoid=870895808
print 870895840 edges
failed: I=29, avoid=870895808
print 870895840 edges
failed: I=32, avoid=870895808
print 870895840 edges
failed: I=33, avoid=870895808
print 870895840 edges
failed: I=34, avoid=870895808
print 870895840 edges
failed: I=35, avoid=870895808
print 870895840 edges
failed: I=38, avoid=870895808
print 870895840 edges
failed: I=39, avoid=870895808
print 870895840 edges
failed: I=40, avoid=870895808
print 870895840 edges
failed: I=41, avoid=870895808
print 870895840 edges
failed: I=44, avoid=870895808
print 870895840 edges
failed: I=45, avoid=870895808
print 870895840 edges
failed: I=46, avoid=870895808
print 870895840 edges
failed: I=47, avoid=870895808
print 870895840 edges
failed: I=50, avoid=870895808
print 870895840 edges
failed: I=51, avoid=870895808
print 870895840 edges
failed: I=52, avoid=870895808
print 870895840 edges
failed: I=53, avoid=870895808
print 870895840 edges
failed: I=56, avoid=870895808
print 870895840 edges
failed: I=57, avoid=870895808
print 870895840 edges
failed: I=58, avoid=870895808
print 870895840 edges
failed: I=59, avoid=870895808
print 870895840 edges
failed: I=8, avoid=870895456
print 870895488 edges
failed: I=9, avoid=870895456
print 870895488 edges
failed: I=10, avoid=870895456
print 870895488 edges
failed: I=11, avoid=870895456
print 870895488 edges
failed: I=8, avoid=870895456
print 870895488 edges
failed: I=9, avoid=870895456
print 870895488 edges
failed: I=10, avoid=870895456
print 870895488 edges
failed: I=11, avoid=870895456
print 870895488 edges
failed: I=14, avoid=870895456
print 870895488 edges
failed: I=15, avoid=870895456
print 870895488 edges
failed: I=16, avoid=870895456
print 870895488 edges
failed: I=17, avoid=870895456
print 870895488 edges
failed: I=20, avoid=870895456
print 870895488 edges
failed: I=21, avoid=870895456
print 870895488 edges
failed: I=22, avoid=870895456
print 870895488 edges
failed: I=23, avoid=870895456
print 870895488 edges
failed: I=8, avoid=870895456
print 870895488 edges
failed: I=9, avoid=870895456
print 870895488 edges
failed: I=10, avoid=870895456
print 870895488 edges
failed: I=11, avoid=870895456
print 870895488 edges
failed: I=14, avoid=870895456
print 870895488 edges
failed: I=15, avoid=870895456
print 870895488 edges
failed: I=16, avoid=870895456
print 870895488 edges
failed: I=17, avoid=870895456
print 870895488 edges
failed: I=20, avoid=870895456
print 870895488 edges
failed: I=21, avoid=870895456
print 870895488 edges
failed: I=22, avoid=870895456
print 870895488 edges
failed: I=23, avoid=870895456
print 870895488 edges
failed: I=26, avoid=870895456
print 870895488 edges
failed: I=27, avoid=870895456
print 870895488 edges
failed: I=28, avoid=870895456
print 870895488 edges
failed: I=29, avoid=870895456
print 870895488 edges
failed: I=32, avoid=870895456
print 870895488 edges
failed: I=33, avoid=870895456
print 870895488 edges
failed: I=34, avoid=870895456
print 870895488 edges
failed: I=35, avoid=870895456
print 870895488 edges
failed: I=38, avoid=870895456
print 870895488 edges
failed: I=39, avoid=870895456
print 870895488 edges
failed: I=40, avoid=870895456
print 870895488 edges
failed: I=41, avoid=870895456
print 870895488 edges
failed: I=44, avoid=870895456
print 870895488 edges
failed: I=45, avoid=870895456
print 870895488 edges
failed: I=46, avoid=870895456
print 870895488 edges
failed: I=47, avoid=870895456
print 870895488 edges
failed: I=50, avoid=870895456
print 870895488 edges
failed: I=51, avoid=870895456
print 870895488 edges
failed: I=52, avoid=870895456
print 870895488 edges
failed: I=53, avoid=870895456
print 870895488 edges
failed: I=56, avoid=870895456
print 870895488 edges
failed: I=57, avoid=870895456
print 870895488 edges
failed: I=58, avoid=870895456
print 870895488 edges
failed: I=59, avoid=870895456
print 870895488 edges
  OK   test group/translate_nd/normal_migrate_from_v22
  OK   test constraint/cubic_line_tangent/free_in_3d_migrate_from_v20
  OK   test constraint/horizontal/pt_pt_migrate_from_v20
test/constraint/proj_pt_distance/test.cpp:5: FAILED: render doesn't match reference; 29 (0.01%) pixels differ
  NG   test constraint/proj_pt_distance/normal_roundtrip
  OK   test request/image/normal_roundtrip
  OK   test constraint/length_ratio/normal_migrate_from_v22
  OK   test request/ttf_text/normal_migrate_from_v22
  OK   test request/arc_of_circle/normal_migrate_from_v22
  OK   test request/circle/normal_migrate_from_v22
  OK   test constraint/symmetric_horiz/normal_migrate_from_v22
  OK   test constraint/eq_len_pt_line_d/normal_migrate_from_v22
  OK   test request/line_segment/normal_migrate_from_v22
  OK   test core/path/join
  OK   test constraint/where_dragged/normal_migrate_from_v20
  OK   test constraint/symmetric_vert/normal_migrate_from_v20
  OK   test constraint/vertical/pt_pt_migrate_from_v20
  OK   test constraint/proj_pt_distance/normal_migrate_from_v20
  OK   test constraint/eq_pt_ln_distances/normal_migrate_from_v22
  OK   test constraint/where_dragged/normal_migrate_from_v22
  OK   test constraint/pt_in_plane/normal_roundtrip
  OK   test constraint/equal_length_lines/normal_migrate_from_v20
  OK   test constraint/perpendicular/normal_migrate_from_v20
  OK   test core/expr/functions
test/request/circle/test.cpp:38: FAILED: render doesn't match reference; 26 (0.01%) pixels differ
  NG   test request/circle/normal_dof
  OK   test core/expr/errors
  OK   test constraint/pt_face_distance/normal_migrate_from_v22
test/constraint/angle/test.cpp:53: FAILED: render doesn't match reference; 25 (0.01%) pixels differ
  NG   test constraint/angle/reference_free_in_3d_roundtrip
  OK   test constraint/same_orientation/normal_roundtrip
test/constraint/at_midpoint/test.cpp:5: FAILED: render doesn't match reference; 66 (0.02%) pixels differ
  NG   test constraint/at_midpoint/line_pt_normal_roundtrip
  OK   test constraint/at_midpoint/line_pt_normal_migrate_from_v20
  OK   test constraint/length_ratio/normal_migrate_from_v20
test/constraint/at_midpoint/test.cpp:53: FAILED: render doesn't match reference; 1 (0.00%) pixels differ
  NG   test constraint/at_midpoint/line_plane_free_in_3d_roundtrip
  OK   test request/datum_point/normal_migrate_from_v22
  OK   test constraint/length_ratio/reference_migrate_from_v22
  OK   test core/path/to_portable
  OK   test request/ttf_text/normal_migrate_from_v20
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
test/constraint/pt_face_distance/test.cpp:5: FAILED: render doesn't match reference; 260 (0.07%) pixels differ
  NG   test constraint/pt_face_distance/normal_roundtrip
  OK   test request/workplane/normal_migrate_from_v22
  OK   test constraint/at_midpoint/line_plane_free_in_3d_migrate_from_v20
  OK   test constraint/pt_in_plane/normal_migrate_from_v22
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
test/constraint/pt_plane_distance/test.cpp:21: FAILED: render doesn't match reference; 46 (0.01%) pixels differ
  NG   test constraint/pt_plane_distance/reference_roundtrip
  OK   test core/path/expand
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
Vector::WithMagnitude(1) of zero vector!
test/constraint/pt_plane_distance/test.cpp:5: FAILED: render doesn't match reference; 46 (0.01%) pixels differ
  NG   test constraint/pt_plane_distance/normal_roundtrip
  OK   test constraint/angle/reference_migrate_from_v20
  OK   test constraint/eq_len_pt_line_d/normal_migrate_from_v20
  OK   test constraint/pt_pt_distance/free_in_3d_migrate_from_v22
test/constraint/equal_length_lines/test.cpp:5: FAILED: render doesn't match reference; 21 (0.01%) pixels differ
  NG   test constraint/equal_length_lines/normal_roundtrip
  OK   test constraint/pt_on_circle/normal_migrate_from_v22
  OK   test constraint/curve_curve_tangent/arc_arc_migrate_from_v20
  OK   test constraint/equal_angle/other_migrate_from_v22
test/constraint/pt_on_face/test.cpp:5: FAILED: render doesn't match reference; 148 (0.04%) pixels differ
  NG   test constraint/pt_on_face/normal_roundtrip
test/constraint/pt_on_line/test.cpp:21: FAILED: render doesn't match reference; 39 (0.01%) pixels differ
  NG   test constraint/pt_on_line/left_free_in_3d_roundtrip
test/constraint/pt_on_line/test.cpp:5: FAILED: render doesn't match reference; 39 (0.01%) pixels differ
  NG   test constraint/pt_on_line/normal_roundtrip
  OK   test constraint/angle/normal_migrate_from_v20
test/constraint/equal_line_arc_len/test.cpp:21: FAILED: render doesn't match reference; 28 (0.01%) pixels differ
  NG   test constraint/equal_line_arc_len/pi
test/request/arc_of_circle/test.cpp:5: FAILED: render doesn't match reference; 46 (0.01%) pixels differ
  NG   test request/arc_of_circle/normal_roundtrip
  OK   test request/circle/normal_migrate_from_v20
test/constraint/symmetric_horiz/test.cpp:5: FAILED: render doesn't match reference; 19 (0.01%) pixels differ
  NG   test constraint/symmetric_horiz/normal_roundtrip
  OK   test constraint/pt_pt_distance/normal_migrate_from_v22
test/constraint/curve_curve_tangent/test.cpp:5: FAILED: render doesn't match reference; 14 (0.00%) pixels differ
  NG   test constraint/curve_curve_tangent/arc_arc_roundtrip
  OK   test constraint/parallel/free_in_3d_migrate_from_v22
  OK   test request/circle/free_in_3d_migrate_from_v20
  OK   test constraint/angle/reference_migrate_from_v22
  OK   test constraint/arc_line_tangent/normal_migrate_from_v20
  OK   test constraint/comment/normal_migrate_from_v22
  OK   test constraint/length_difference/reference_migrate_from_v22
test/constraint/where_dragged/test.cpp:5: FAILED: render doesn't match reference; 46 (0.01%) pixels differ
  NG   test constraint/where_dragged/normal_roundtrip
test/constraint/equal_angle/test.cpp:5: FAILED: render doesn't match reference; 70 (0.02%) pixels differ
  NG   test constraint/equal_angle/normal_roundtrip
  OK   test constraint/pt_plane_distance/reference_migrate_from_v22
  OK   test request/arc_of_circle/normal_migrate_from_v20
test/constraint/length_difference/test.cpp:16: FAILED: render doesn't match reference; 42 (0.01%) pixels differ
  NG   test constraint/length_difference/reference_roundtrip
  OK   test constraint/vertical/line_migrate_from_v22
  OK   test constraint/parallel/free_in_3d_migrate_from_v20
test/request/cubic_periodic/test.cpp:5: FAILED: render doesn't match reference; 46 (0.01%) pixels differ
  NG   test request/cubic_periodic/normal_roundtrip
  OK   test constraint/equal_angle/normal_migrate_from_v22
  OK   test constraint/at_midpoint/line_pt_normal_migrate_from_v22
  OK   test constraint/pt_line_distance/reference_migrate_from_v20
Failure! 80 checks failed
``

rpavlik added some commits Jan 3, 2018

Convert many loops (on IdLists) to range-for. NFC.
Also add comments about indexing and when we don't use range-for.
Reduce scopes and placate clang-tidy. NFC.
Pointing out one potential issue with an assert.
Provide cbegin(), cend() in containers. NFC.
Allows forcing const iteration.
Add Get() and operator[].
Allows distancing users from the internal "elem" member.
Move IdList to using a shared_ptr<vector>
The issue before is that much of the code relies on a copy
or assignment of IdList being a shallow copy,
so using a shared_ptr was the simplest way to preserve
that meaning.
@whitequark

This comment has been minimized.

Copy link
Member

commented May 23, 2019

Does this actually have any benefit? Specifically, take a look at IdList indexing, which seems much more useful.

@rpavlik

This comment has been minimized.

Copy link
Contributor Author

commented May 31, 2019

The main reason I first did this was to reduce allocations, since that was a big drag on performance when I profiled last year on Windows. Allocation patterns/behavior for performance are fairly tuned in stl implementations to provide the fabled amortized-O(1) performance. I also just get nervous in general at manual memory management of this sort.

Certainly would be nice to e.g. use an unordered map here instead, but that's a larger change I hadn't done before. I'm still mostly just trying to clear my patch backlog as I promised to do :) I enjoy working on SolveSpace, nearly to a fault, so I'm trying not to do too much original dev on it right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.