@@ -804,29 +804,7 @@ def set_discrete(
804
804
func , lower , upper , samples , interpolation , extrapolation , one_by_one
805
805
)
806
806
elif func .__dom_dim__ == 2 :
807
- # Determine boundaries
808
- domain = [[0 , 10 ], [0 , 10 ]]
809
- if self .__cropped_domain__ is not None :
810
- for i in range (0 , 2 ):
811
- if self .__cropped_domain__ [i ] is not None :
812
- if self .__cropped_domain__ [i ][0 ] > domain [i ][0 ]:
813
- domain [i ][0 ] = self .__cropped_domain__ [i ][0 ]
814
- if self .__cropped_domain__ [i ][1 ] < domain [i ][1 ]:
815
- domain [i ][1 ] = self .__cropped_domain__ [i ][1 ]
816
- lower = lower or [domain [0 ][0 ], domain [1 ][0 ]]
817
- lower = 2 * [lower ] if isinstance (lower , NUMERICAL_TYPES ) else lower
818
- upper = [domain [0 ][1 ], domain [1 ][1 ]] if upper is None else upper
819
- upper = 2 * [upper ] if isinstance (upper , NUMERICAL_TYPES ) else upper
820
- sam = 2 * [samples ] if isinstance (samples , NUMERICAL_TYPES ) else samples
821
- # Create nodes to evaluate function
822
- xs = np .linspace (lower [0 ], upper [0 ], sam [0 ])
823
- ys = np .linspace (lower [1 ], upper [1 ], sam [1 ])
824
- xs , ys = np .array (np .meshgrid (xs , ys )).reshape (2 , xs .size * ys .size )
825
- # Evaluate function at all mesh nodes and convert it to matrix
826
- zs = np .array (func .get_value (xs , ys ))
827
- func .set_source (np .concatenate (([xs ], [ys ], [zs ])).transpose ())
828
- func .__interpolation__ = "shepard"
829
- func .__extrapolation__ = "natural"
807
+ self .__discretize_2d_function (func , lower , upper , samples )
830
808
else :
831
809
raise ValueError (
832
810
"Discretization is only supported for 1-D and 2-D Functions."
@@ -2006,7 +1984,7 @@ def plot_2d( # pylint: disable=too-many-statements
2006
1984
domain [i ][0 ] = self .__cropped_domain__ [i ][0 ]
2007
1985
if self .__cropped_domain__ [i ][1 ] < domain [i ][1 ]:
2008
1986
domain [i ][1 ] = self .__cropped_domain__ [i ][1 ]
2009
- lower = lower or [domain [0 ][0 ], domain [1 ][0 ]]
1987
+ lower = [domain [0 ][0 ], domain [1 ][0 ]] if lower is None else lower
2010
1988
lower = 2 * [lower ] if isinstance (lower , NUMERICAL_TYPES ) else lower
2011
1989
upper = [domain [0 ][1 ], domain [1 ][1 ]] if upper is None else upper
2012
1990
upper = 2 * [upper ] if isinstance (upper , NUMERICAL_TYPES ) else upper
0 commit comments