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

fix: array_indices_axis helper updated to use args to control vals from dtypes_and_values helper #28168

Merged
merged 3 commits into from
Feb 14, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions ivy_tests/test_ivy/helpers/hypothesis_helpers/array_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -802,6 +802,12 @@ def array_indices_axis(
*,
array_dtypes,
indices_dtypes=get_dtypes("valid"),
abs_smallest_val=None,
min_value=None,
max_value=None,
large_abs_safety_factor=1.1,
small_abs_safety_factor=1.1,
safety_factor_scale="linear",
disable_random_axis=False,
axis_zero=False,
allow_inf=False,
Expand All @@ -826,6 +832,37 @@ def array_indices_axis(
list of data type to draw the array dtype from.
indices_dtypes
list of data type to draw the indices dtype from.
abs_smallest_val
sets the absolute smallest value to be generated for float data types,
this has no effect on integer data types. If none, the default data type
absolute smallest value is used.
min_value
minimum value of elements in the array.
max_value
maximum value of elements in the array.
large_abs_safety_factor
A safety factor of 1 means that all values are included without limitation,
when a "linear" safety factor scaler is used, a safety factor of 2 means
that only 50% of the range is included, a safety factor of 3 means that
only 33% of the range is included etc.
when a "log" safety factor scaler is used, a data type with maximum
value of 2^32 and a safety factor of 2 transforms the maximum to 2^16.
small_abs_safety_factor
A safety factor of 1 means that all values are included without limitation,
this has no effect on integer data types.
when a "linear" safety factor scaler is used, a data type with minimum
representable number of 0.0001 and a safety factor of 2 transforms the
minimum to 0.0002, a safety factor of 3 transforms the minimum to 0.0003 etc.
when a "log" safety factor scaler is used, a data type with minimum
representable number of 0.5 * 2^-16 and a safety factor of 2 transforms the
minimum to 0.5 * 2^-8, a safety factor of 3 transforms the minimum to 0.5 * 2^-4
safety_factor_scale
The operation to use for the safety factor scaling. Can be "linear" or "log".
Default value = "linear".
disable_random_axis
axis is randomly generated with hypothesis if False. If True, axis is set
to 0 if axis_zero is True, -1 otherwise.
Expand Down Expand Up @@ -961,6 +998,12 @@ def array_indices_axis(
max_num_dims=max_num_dims,
min_dim_size=min_dim_size,
max_dim_size=max_dim_size,
abs_smallest_val=abs_smallest_val,
min_value=min_value,
max_value=max_value,
large_abs_safety_factor=large_abs_safety_factor,
small_abs_safety_factor=small_abs_safety_factor,
safety_factor_scale=safety_factor_scale,
)
)
x_dtype = x_dtype[0]
Expand Down
Loading