@@ -47,6 +47,7 @@ import isRowMajorContiguous = require( '@stdlib/ndarray-base-assert-is-row-major
47
47
import isRowMajorString = require( '@stdlib/ndarray-base-assert-is-row-major-string' ) ;
48
48
import isSafeDataTypeCast = require( '@stdlib/ndarray-base-assert-is-safe-data-type-cast' ) ;
49
49
import isSameKindDataTypeCast = require( '@stdlib/ndarray-base-assert-is-same-kind-data-type-cast' ) ;
50
+ import isScalarMostlySafeCompatible = require( '@stdlib/ndarray-base-assert-is-scalar-mostly-safe-compatible' ) ;
50
51
import isSignedIntegerDataType = require( '@stdlib/ndarray-base-assert-is-signed-integer-data-type' ) ;
51
52
import isSingleSegmentCompatible = require( '@stdlib/ndarray-base-assert-is-single-segment-compatible' ) ;
52
53
import isUnsignedIntegerDataType = require( '@stdlib/ndarray-base-assert-is-unsigned-integer-data-type' ) ;
@@ -839,6 +840,27 @@ interface Namespace {
839
840
*/
840
841
isSameKindDataTypeCast : typeof isSameKindDataTypeCast ;
841
842
843
+ /**
844
+ * Returns a boolean indicating whether a scalar value can be safely cast or, for floating-point data types, downcast to specified ndarray data type.
845
+ *
846
+ * @param value - scalar value
847
+ * @param dtype - ndarray data type
848
+ * @returns boolean indicating whether a scalar value can be safely cast
849
+ *
850
+ * @example
851
+ * var bool = ns.isScalarMostlySafeCompatible( 3.0, 'float64' );
852
+ * // returns true
853
+ *
854
+ * @example
855
+ * var bool = ns.isScalarMostlySafeCompatible( 3.14, 'int32' );
856
+ * // returns false
857
+ *
858
+ * @example
859
+ * var bool = ns.isScalarMostlySafeCompatible( -1, 'uint32' );
860
+ * // returns false
861
+ */
862
+ isScalarMostlySafeCompatible : typeof isScalarMostlySafeCompatible ;
863
+
842
864
/**
843
865
* Tests whether an input value is a supported ndarray signed integer data type.
844
866
*
0 commit comments