@@ -31,9 +31,7 @@ def graph_helper(
3131 except MemoryError :
3232 evaluation .message (self .get_name (), "mem" , expression )
3333 return None
34- G .graph_layout = options ["System`GraphLayout" ].get_string_value () or String (
35- graph_layout
36- )
34+ G .graph_layout = options ["System`GraphLayout" ].get_string_value () or graph_layout
3735 g = Graph (G )
3836 G .vertex_labels = g .vertex_labels = options ["System`VertexLabels" ]
3937
@@ -169,6 +167,21 @@ def apply(self, n, expression, evaluation, options):
169167 return g
170168
171169
170+ def complete_graph_apply (self , n , expression , evaluation , options ):
171+ py_n = n .get_int_value ()
172+
173+ if py_n < 1 :
174+ evaluation .message (self .get_name (), "ilsmp" , expression )
175+ return
176+
177+ args = (py_n ,)
178+ g = graph_helper (nx .complete_graph , options , False , "circular" , None , * args )
179+ if not g :
180+ return None
181+
182+ g .G .n = n
183+ return g
184+
172185class CompleteGraph (_NetworkXBuiltin ):
173186 """
174187 <dl>
@@ -190,19 +203,7 @@ class CompleteGraph(_NetworkXBuiltin):
190203
191204 def apply (self , n , expression , evaluation , options ):
192205 "%(name)s[n_Integer, OptionsPattern[%(name)s]]"
193- py_n = n .get_int_value ()
194-
195- if py_n < 1 :
196- evaluation .message (self .get_name (), "ilsmp" , expression )
197- return
198-
199- args = (py_n ,)
200- g = graph_helper (nx .complete_graph , options , False , "circular" , None , * args )
201- if not g :
202- return None
203-
204- g .G .n = n
205- return g
206+ return complete_graph_apply (self , n , expression , evaluation , options )
206207
207208 def apply_multipartite (self , n , evaluation , options ):
208209 "%(name)s[n_List, OptionsPattern[%(name)s]]"
@@ -262,8 +263,11 @@ class CycleGraph(_NetworkXBuiltin):
262263
263264 def apply (self , n , expression , evaluation , options ):
264265 "%(name)s[n_Integer, OptionsPattern[%(name)s]]"
265- return hkn_harary_apply (self , Integer (2 ), n , expression , evaluation , options )
266-
266+ n_int = n .get_int_value ()
267+ if n_int < 3 :
268+ return complete_graph_apply (self , n , expression , evaluation , options )
269+ else :
270+ return hkn_harary_apply (self , Integer (2 ), n , expression , evaluation , options )
267271
268272def f_r_t_apply (self , r , n , expression , evaluation , options ):
269273 py_r = r .get_int_value ()
0 commit comments