The Swift Package Index logo.Swift Package Index

Build Information

Successful build of mlx-swift, reference 0.32.3 (196012), with Swift 6.4 for macOS (SPM) on 3 Oct 2026 21:11:25 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<unsigned int, unsigned int, true, mlx::core::ScalarVector<mlx::core::detail::RightShift>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned int, unsigned int, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:397:9: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned int, mlx::core::detail::RightShift>' requested here
  397 |         binary_op<uint32_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, unsigned long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:400:9: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, mlx::core::detail::RightShift>' requested here
  400 |         binary_op<uint64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, unsigned long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:400:9: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, mlx::core::detail::RightShift>' requested here
  400 |         binary_op<uint64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, unsigned long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:400:9: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, mlx::core::detail::RightShift>' requested here
  400 |         binary_op<uint64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<unsigned long long, unsigned long long, mlx::core::VectorVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<unsigned long long, unsigned long long, true, mlx::core::VectorVector<mlx::core::detail::RightShift>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, unsigned long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:400:9: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, mlx::core::detail::RightShift>' requested here
  400 |         binary_op<uint64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<unsigned long long, unsigned long long, mlx::core::VectorScalar<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<unsigned long long, unsigned long long, true, mlx::core::VectorScalar<mlx::core::detail::RightShift>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, unsigned long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:400:9: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, mlx::core::detail::RightShift>' requested here
  400 |         binary_op<uint64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<unsigned long long, unsigned long long, mlx::core::ScalarVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<unsigned long long, unsigned long long, true, mlx::core::ScalarVector<mlx::core::detail::RightShift>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, unsigned long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:400:9: note: in instantiation of function template specialization 'mlx::core::binary_op<unsigned long long, mlx::core::detail::RightShift>' requested here
  400 |         binary_op<uint64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, signed char, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:403:9: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, mlx::core::detail::RightShift>' requested here
  403 |         binary_op<int8_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, signed char, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:403:9: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, mlx::core::detail::RightShift>' requested here
  403 |         binary_op<int8_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, signed char, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:403:9: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, mlx::core::detail::RightShift>' requested here
  403 |         binary_op<int8_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<signed char, signed char, mlx::core::VectorVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<signed char, signed char, true, mlx::core::VectorVector<mlx::core::detail::RightShift>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, signed char, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:403:9: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, mlx::core::detail::RightShift>' requested here
  403 |         binary_op<int8_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<signed char, signed char, mlx::core::VectorScalar<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<signed char, signed char, true, mlx::core::VectorScalar<mlx::core::detail::RightShift>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, signed char, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:403:9: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, mlx::core::detail::RightShift>' requested here
  403 |         binary_op<int8_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<signed char, signed char, mlx::core::ScalarVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<signed char, signed char, true, mlx::core::ScalarVector<mlx::core::detail::RightShift>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, signed char, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:403:9: note: in instantiation of function template specialization 'mlx::core::binary_op<signed char, mlx::core::detail::RightShift>' requested here
  403 |         binary_op<int8_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<short, short, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:406:9: note: in instantiation of function template specialization 'mlx::core::binary_op<short, mlx::core::detail::RightShift>' requested here
  406 |         binary_op<int16_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<short, short, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:406:9: note: in instantiation of function template specialization 'mlx::core::binary_op<short, mlx::core::detail::RightShift>' requested here
  406 |         binary_op<int16_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<short, short, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:406:9: note: in instantiation of function template specialization 'mlx::core::binary_op<short, mlx::core::detail::RightShift>' requested here
  406 |         binary_op<int16_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<short, short, mlx::core::VectorVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<short, short, true, mlx::core::VectorVector<mlx::core::detail::RightShift>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<short, short, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:406:9: note: in instantiation of function template specialization 'mlx::core::binary_op<short, mlx::core::detail::RightShift>' requested here
  406 |         binary_op<int16_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<short, short, mlx::core::VectorScalar<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<short, short, true, mlx::core::VectorScalar<mlx::core::detail::RightShift>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<short, short, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:406:9: note: in instantiation of function template specialization 'mlx::core::binary_op<short, mlx::core::detail::RightShift>' requested here
  406 |         binary_op<int16_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<short, short, mlx::core::ScalarVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<short, short, true, mlx::core::ScalarVector<mlx::core::detail::RightShift>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<short, short, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:406:9: note: in instantiation of function template specialization 'mlx::core::binary_op<short, mlx::core::detail::RightShift>' requested here
  406 |         binary_op<int16_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<int, int, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:409:9: note: in instantiation of function template specialization 'mlx::core::binary_op<int, mlx::core::detail::RightShift>' requested here
  409 |         binary_op<int32_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<int, int, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:409:9: note: in instantiation of function template specialization 'mlx::core::binary_op<int, mlx::core::detail::RightShift>' requested here
  409 |         binary_op<int32_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<int, int, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:409:9: note: in instantiation of function template specialization 'mlx::core::binary_op<int, mlx::core::detail::RightShift>' requested here
  409 |         binary_op<int32_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<int, int, mlx::core::VectorVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<int, int, true, mlx::core::VectorVector<mlx::core::detail::RightShift>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<int, int, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:409:9: note: in instantiation of function template specialization 'mlx::core::binary_op<int, mlx::core::detail::RightShift>' requested here
  409 |         binary_op<int32_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<int, int, mlx::core::VectorScalar<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<int, int, true, mlx::core::VectorScalar<mlx::core::detail::RightShift>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<int, int, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:409:9: note: in instantiation of function template specialization 'mlx::core::binary_op<int, mlx::core::detail::RightShift>' requested here
  409 |         binary_op<int32_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<int, int, mlx::core::ScalarVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<int, int, true, mlx::core::ScalarVector<mlx::core::detail::RightShift>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<int, int, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:409:9: note: in instantiation of function template specialization 'mlx::core::binary_op<int, mlx::core::detail::RightShift>' requested here
  409 |         binary_op<int32_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:412:9: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, mlx::core::detail::RightShift>' requested here
  412 |         binary_op<int64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:412:9: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, mlx::core::detail::RightShift>' requested here
  412 |         binary_op<int64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:412:9: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, mlx::core::detail::RightShift>' requested here
  412 |         binary_op<int64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<long long, long long, mlx::core::VectorVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<long long, long long, true, mlx::core::VectorVector<mlx::core::detail::RightShift>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:412:9: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, mlx::core::detail::RightShift>' requested here
  412 |         binary_op<int64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<long long, long long, mlx::core::VectorScalar<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<long long, long long, true, mlx::core::VectorScalar<mlx::core::detail::RightShift>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:412:9: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, mlx::core::detail::RightShift>' requested here
  412 |         binary_op<int64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<long long, long long, mlx::core::ScalarVector<mlx::core::detail::RightShift>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<long long, long long, true, mlx::core::ScalarVector<mlx::core::detail::RightShift>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, long long, mlx::core::detail::RightShift>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:412:9: note: in instantiation of function template specialization 'mlx::core::binary_op<long long, mlx::core::detail::RightShift>' requested here
  412 |         binary_op<int64_t, Op>(a, b, out, bopt);
      |         ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:222:7: note: in instantiation of function template specialization 'mlx::core::binary_int_op_cpu<mlx::core::detail::RightShift>' requested here
  222 |       binary_int_op_cpu(a, b, out, detail::RightShift(), stream());
      |       ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, __fp16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, __fp16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, __fp16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<__fp16, __fp16, mlx::core::VectorVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<__fp16, __fp16, true, mlx::core::VectorVector<mlx::core::detail::ArcTan2>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, __fp16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<__fp16, __fp16, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<__fp16, __fp16, true, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, __fp16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<__fp16, __fp16, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<__fp16, __fp16, true, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, __fp16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<__fp16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::VectorVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, true, mlx::core::VectorVector<mlx::core::detail::ArcTan2>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, true, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, true, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::_MLX_BFloat16, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<float, float, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<float, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<float, float, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<float, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<float, float, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<float, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<float, float, mlx::core::VectorVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<float, float, true, mlx::core::VectorVector<mlx::core::detail::ArcTan2>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<float, float, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<float, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<float, float, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<float, float, true, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<float, float, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<float, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<float, float, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<float, float, true, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<float, float, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<float, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<double, double, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<double, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<double, double, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<double, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<double, double, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<double, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<double, double, mlx::core::VectorVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<double, double, true, mlx::core::VectorVector<mlx::core::detail::ArcTan2>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<double, double, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<double, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<double, double, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<double, double, true, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<double, double, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<double, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<double, double, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<double, double, true, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<double, double, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<double, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:192:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  192 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:197:19: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  197 |   auto a_rc_dim = leftmost_rc_dim(a_strides);
      |                   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:202:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  202 |     int d = arr_strides.size() - 1;
      |         ~   ~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:207:18: note: in instantiation of function template specialization 'mlx::core::binary_op(const array &, const array &, array &, BinaryOpType)::(anonymous class)::operator()<mlx::core::SmallVector<long long>>' requested here
  207 |   auto a_s_dim = leftmost_s_dim(a_strides);
      |                  ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:167:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  167 |     ScalarVector<Op>{}(a_ptr, b_ptr, out_ptr, b.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:173:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  173 |     VectorScalar<Op>{}(a_ptr, b_ptr, out_ptr, a.data_size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:179:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  179 |     VectorVector<Op>{}(a_ptr, b_ptr, out_ptr, a.size());
      |     ~~~~~~~~~~~~                              ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:214:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  214 |   int dim = ndim;
      |       ~~~   ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:235:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  235 |     dim = ndim;
      |         ~ ^~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:245:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  241 |           a_ptr,
  242 |           b_ptr,
  243 |           out_ptr,
  244 |           dim,
  245 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:257:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  253 |           a_ptr,
  254 |           b_ptr,
  255 |           out_ptr,
  256 |           dim,
  257 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:269:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  265 |           a_ptr,
  266 |           b_ptr,
  267 |           out_ptr,
  268 |           dim,
  269 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:281:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  276 |       binary_op_dispatch_dims<T, U, false, Op>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~
  277 |           a_ptr,
  278 |           b_ptr,
  279 |           out_ptr,
  280 |           dim,
  281 |           a.size(),
      |           ~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::VectorVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:240:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<mlx::core::complex64_t, mlx::core::complex64_t, true, mlx::core::VectorVector<mlx::core::detail::ArcTan2>>' requested here
  240 |       binary_op_dispatch_dims<T, U, true, VectorVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:252:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<mlx::core::complex64_t, mlx::core::complex64_t, true, mlx::core::VectorScalar<mlx::core::detail::ArcTan2>>' requested here
  252 |       binary_op_dispatch_dims<T, U, true, VectorScalar<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
In file included from /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:9:
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:98:25: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
   98 |         Op{}(a, b, out, stride_out);
      |         ~~              ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:122:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dims<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>, 1, true>' requested here
  122 |       binary_op_dims<T, U, Op, 1, Strided>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:264:7: note: in instantiation of function template specialization 'mlx::core::binary_op_dispatch_dims<mlx::core::complex64_t, mlx::core::complex64_t, true, mlx::core::ScalarVector<mlx::core::detail::ArcTan2>>' requested here
  264 |       binary_op_dispatch_dims<T, U, true, ScalarVector<Op>>(
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:292:3: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  292 |   binary_op<T, T, Op>(a, b, out, bopt);
      |   ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:364:7: note: in instantiation of function template specialization 'mlx::core::binary_op<mlx::core::complex64_t, mlx::core::detail::ArcTan2>' requested here
  364 |       binary_op<MLX_GET_TYPE(type_tag), Op>(a, b, out, bopt);
      |       ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:5: note: in instantiation of function template specialization 'mlx::core::dispatch_inexact_types<(lambda at /Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.h:363:59)>' requested here
  363 |     dispatch_inexact_types(out.dtype(), "[binary_float]", [&](auto type_tag) {
      |     ^
/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/mlx/backend/cpu/binary.cpp:231:3: note: in instantiation of function template specialization 'mlx::core::binary_float_op_cpu<mlx::core::detail::ArcTan2>' requested here
  231 |   binary_float_op_cpu(a, b, out, detail::ArcTan2(), stream());
      |   ^
4000 warnings generated.
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1418:34: warning: conditional downcast from 'T?' to 'T' does nothing
1416 |             // note: this gives a warning but it does in fact do something
1417 |             // in the case where this is e.g. ParameterInfo<MLXArray?>
1418 |             if let value = value as? T {
     |                                  `- warning: conditional downcast from 'T?' to 'T' does nothing
1419 |                 return value
1420 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:1531:36: warning: conditional downcast from 'T?' to 'T' does nothing
1529 |             // note: this gives a warning but it does in fact do something
1530 |             // in the case where this is e.g. ModuleInfo<Linear?>
1531 |             if let module = module as? T {
     |                                    `- warning: conditional downcast from 'T?' to 'T' does nothing
1532 |                 return module
1533 |             } else {
/Users/admin/builder/spi-builder-workspace/Source/MLXNN/Module.swift:293:13: warning: default will never be executed
 291 |                 return isAllNone ? .none : .array(result)
 292 |
 293 |             default:
     |             `- warning: default will never be executed
 294 |                 fatalError("Unexpected leaf \(vk) = \(v)")
 295 |             }
Build complete.
{
  "cxx_language_standard" : "gnu++20",
  "dependencies" : [
    {
      "identity" : "swift-numerics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-numerics"
    }
  ],
  "manifest_display_name" : "mlx-swift",
  "name" : "mlx-swift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "MLX",
      "targets" : [
        "MLX"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MLXRandom",
      "targets" : [
        "MLXRandom"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MLXNN",
      "targets" : [
        "MLXNN"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MLXOptimizers",
      "targets" : [
        "MLXOptimizers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MLXFFT",
      "targets" : [
        "MLXFFT"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MLXLinalg",
      "targets" : [
        "MLXLinalg"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MLXFast",
      "targets" : [
        "MLXFast"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Tutorial",
      "targets" : [
        "Tutorial"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Example1",
      "targets" : [
        "Example1"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "CustomFunctionExampleSimple",
      "targets" : [
        "CustomFunctionExampleSimple"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "CustomFunctionExample",
      "targets" : [
        "CustomFunctionExample"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "CompileLockRepro",
      "targets" : [
        "CompileLockRepro"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "cLogSupport",
      "module_type" : "ClangTarget",
      "name" : "cLogSupport",
      "path" : "Source/cLogSupport",
      "product_memberships" : [
        "MLX",
        "MLXRandom",
        "MLXNN",
        "MLXOptimizers",
        "MLXFFT",
        "MLXLinalg",
        "MLXFast",
        "Tutorial",
        "Example1",
        "CustomFunctionExampleSimple",
        "CustomFunctionExample",
        "CompileLockRepro"
      ],
      "sources" : [
        "cLogSupport.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Tutorial",
      "module_type" : "SwiftTarget",
      "name" : "Tutorial",
      "path" : "Source/Examples",
      "product_memberships" : [
        "Tutorial"
      ],
      "sources" : [
        "Tutorial.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "MLXTests",
      "module_type" : "SwiftTarget",
      "name" : "MLXTests",
      "path" : "Tests/MLXTests",
      "sources" : [
        "ArrayAtTests.swift",
        "CompileLockOrderingTests.swift",
        "DTypeTests.swift",
        "DistributedHarness.swift",
        "DistributedNNTests.swift",
        "DistributedRingTests.swift",
        "DistributedTests.swift",
        "ErrorTests.swift",
        "ExportTests.swift",
        "FFTTests.swift",
        "FP8Tests.swift",
        "GraphUtilsTests.swift",
        "LinalgTests.swift",
        "LoggingTests.swift",
        "LossTests.swift",
        "MLXArray+IndexingTests.swift",
        "MLXArray+InitTests.swift",
        "MLXArray+NormlizerTests.swift",
        "MLXArray+OpsTests.swift",
        "MLXArrayTests.swift",
        "MLXFastKernelTests.swift",
        "MLXRandomTests.swift",
        "MemoryTests.swift",
        "ModuleTests.swift",
        "NestedTests.swift",
        "OpsTests.swift",
        "OptimizerTests.swift",
        "PoolingTests.swift",
        "PositionalEncodingTests.swift",
        "QuantizationTests.swift",
        "SaveTests.swift",
        "SchedulerTests.swift",
        "StreamTests.swift",
        "SubclassTests.swift",
        "TransformTests.swift",
        "UpsampleTests.swift",
        "Utils.swift",
        "WiredMemoryLifecycleTests.swift",
        "WiredMemoryTests.swift"
      ],
      "target_dependencies" : [
        "MLX",
        "MLXNN",
        "MLXOptimizers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MLXRandom",
      "module_type" : "SwiftTarget",
      "name" : "MLXRandom",
      "path" : "Source/MLXRandom",
      "product_memberships" : [
        "MLXRandom"
      ],
      "sources" : [
        "Random.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MLXOptimizers",
      "module_type" : "SwiftTarget",
      "name" : "MLXOptimizers",
      "path" : "Source/MLXOptimizers",
      "product_memberships" : [
        "MLXOptimizers"
      ],
      "sources" : [
        "Optimizers.swift",
        "Schedulers.swift"
      ],
      "target_dependencies" : [
        "MLX",
        "MLXNN"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MLXNN",
      "module_type" : "SwiftTarget",
      "name" : "MLXNN",
      "path" : "Source/MLXNN",
      "product_memberships" : [
        "MLXNN",
        "MLXOptimizers"
      ],
      "sources" : [
        "Activations.swift",
        "Cache.swift",
        "Containers.swift",
        "Convolution.swift",
        "ConvolutionTransposed.swift",
        "Distributed.swift",
        "Dropout.swift",
        "Embedding.swift",
        "Linear.swift",
        "Losses.swift",
        "Module.swift",
        "Normalization.swift",
        "Pooling.swift",
        "PositionalEncoding.swift",
        "Quantized.swift",
        "Recurrent.swift",
        "Transformer.swift",
        "Upsample.swift",
        "ValueAndGrad.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MLXLinalg",
      "module_type" : "SwiftTarget",
      "name" : "MLXLinalg",
      "path" : "Source/MLXLinalg",
      "product_memberships" : [
        "MLXLinalg"
      ],
      "sources" : [
        "Linalg.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MLXIntegrationTests",
      "module_type" : "SwiftTarget",
      "name" : "MLXIntegrationTests",
      "path" : "Tests/MLXIntegrationTests",
      "sources" : [
        "Generated/GeneratedActivationsTests.swift",
        "Generated/GeneratedBinaryTests.swift",
        "Generated/GeneratedConvolutionTests.swift",
        "Generated/GeneratedDefaultsTests.swift",
        "Generated/GeneratedElementwiseTests.swift",
        "Generated/GeneratedFFTTests.swift",
        "Generated/GeneratedFactoryTests.swift",
        "Generated/GeneratedFastTests.swift",
        "Generated/GeneratedIndexingTests.swift",
        "Generated/GeneratedLinalgTests.swift",
        "Generated/GeneratedLossesTests.swift",
        "Generated/GeneratedModuleActivationsTests.swift",
        "Generated/GeneratedModuleAttentionTests.swift",
        "Generated/GeneratedModuleConvolutionTests.swift",
        "Generated/GeneratedModuleDropoutTests.swift",
        "Generated/GeneratedModuleLinearTests.swift",
        "Generated/GeneratedModuleNormalizationTests.swift",
        "Generated/GeneratedModulePoolingTests.swift",
        "Generated/GeneratedModulePositionalTests.swift",
        "Generated/GeneratedModuleRecurrentTests.swift",
        "Generated/GeneratedModuleUpsampleTests.swift",
        "Generated/GeneratedOptimizerFunctionsTests.swift",
        "Generated/GeneratedOptimizersTests.swift",
        "Generated/GeneratedQuantizationTests.swift",
        "Generated/GeneratedRandomInputsTests.swift",
        "Generated/GeneratedRandomTests.swift",
        "Generated/GeneratedReductionTests.swift",
        "Generated/GeneratedSchedulesTests.swift",
        "Generated/GeneratedShapeTests.swift",
        "IntegrationSupport.swift"
      ],
      "target_dependencies" : [
        "MLX",
        "MLXNN",
        "MLXOptimizers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MLXFast",
      "module_type" : "SwiftTarget",
      "name" : "MLXFast",
      "path" : "Source/MLXFast",
      "product_memberships" : [
        "MLXFast"
      ],
      "sources" : [
        "MLXFast.swift",
        "MLXFastKernel.swift"
      ],
      "target_dependencies" : [
        "MLX",
        "Cmlx"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MLXFFT",
      "module_type" : "SwiftTarget",
      "name" : "MLXFFT",
      "path" : "Source/MLXFFT",
      "product_memberships" : [
        "MLXFFT"
      ],
      "sources" : [
        "FFT.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MLX",
      "module_type" : "SwiftTarget",
      "name" : "MLX",
      "path" : "Source/MLX",
      "product_dependencies" : [
        "Numerics"
      ],
      "product_memberships" : [
        "MLX",
        "MLXRandom",
        "MLXNN",
        "MLXOptimizers",
        "MLXFFT",
        "MLXLinalg",
        "MLXFast",
        "Tutorial",
        "Example1",
        "CustomFunctionExampleSimple",
        "CustomFunctionExample",
        "CompileLockRepro"
      ],
      "sources" : [
        "ArrayAt.swift",
        "Cmlx+Util.swift",
        "DType.swift",
        "Device.swift",
        "Distributed.swift",
        "ErrorHandler.swift",
        "Export.swift",
        "FFT.swift",
        "Factory.swift",
        "Foundation+Util.swift",
        "GPU+Metal.swift",
        "GraphUtils.swift",
        "IO.swift",
        "Linalg.swift",
        "Logging.swift",
        "MLXArray+Bytes.swift",
        "MLXArray+Indexing.swift",
        "MLXArray+Init.swift",
        "MLXArray+Metal.swift",
        "MLXArray+Normalizer.swift",
        "MLXArray+Ops.swift",
        "MLXArray+maskFill.swift",
        "MLXArray.swift",
        "MLXCustomFunction.swift",
        "MLXFast.swift",
        "MLXFastKernel.swift",
        "Memory.swift",
        "Nested.swift",
        "NestedArrayElement.swift",
        "Ops+Array.swift",
        "Ops.swift",
        "ParameterTypes.swift",
        "Protocols.swift",
        "Random.swift",
        "State.swift",
        "Stream.swift",
        "Transforms+Compile.swift",
        "Transforms+CompileOverloads.swift",
        "Transforms+Eval.swift",
        "Transforms+Grad.swift",
        "Transforms+Internal.swift",
        "Transforms+Vmap.swift",
        "Transforms.swift",
        "WiredMemory.swift"
      ],
      "target_dependencies" : [
        "Cmlx",
        "cLogSupport"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Example1",
      "module_type" : "SwiftTarget",
      "name" : "Example1",
      "path" : "Source/Examples",
      "product_memberships" : [
        "Example1"
      ],
      "sources" : [
        "Example1.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CustomFunctionExampleSimple",
      "module_type" : "SwiftTarget",
      "name" : "CustomFunctionExampleSimple",
      "path" : "Source/Examples",
      "product_memberships" : [
        "CustomFunctionExampleSimple"
      ],
      "sources" : [
        "CustomFunctionExampleSimple.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CustomFunctionExample",
      "module_type" : "SwiftTarget",
      "name" : "CustomFunctionExample",
      "path" : "Source/Examples",
      "product_memberships" : [
        "CustomFunctionExample"
      ],
      "sources" : [
        "CustomFunctionExample.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CompileLockRepro",
      "module_type" : "SwiftTarget",
      "name" : "CompileLockRepro",
      "path" : "Source/CompileLockRepro",
      "product_memberships" : [
        "CompileLockRepro"
      ],
      "sources" : [
        "CompileLockRepro.swift"
      ],
      "target_dependencies" : [
        "MLX"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CmlxTests",
      "module_type" : "SwiftTarget",
      "name" : "CmlxTests",
      "path" : "Tests/CmlxTests",
      "sources" : [
        "CmlxTests.swift"
      ],
      "target_dependencies" : [
        "Cmlx"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Cmlx",
      "module_type" : "ClangTarget",
      "name" : "Cmlx",
      "path" : "Source/Cmlx",
      "product_memberships" : [
        "MLX",
        "MLXRandom",
        "MLXNN",
        "MLXOptimizers",
        "MLXFFT",
        "MLXLinalg",
        "MLXFast",
        "Tutorial",
        "Example1",
        "CustomFunctionExampleSimple",
        "CustomFunctionExample",
        "CompileLockRepro"
      ],
      "sources" : [
        "fmt/src/format.cc",
        "framework/Cmlx.m",
        "mlx-c/mlx/c/array.cpp",
        "mlx-c/mlx/c/closure.cpp",
        "mlx-c/mlx/c/compile.cpp",
        "mlx-c/mlx/c/cuda.cpp",
        "mlx-c/mlx/c/device.cpp",
        "mlx-c/mlx/c/distributed.cpp",
        "mlx-c/mlx/c/distributed_group.cpp",
        "mlx-c/mlx/c/error.cpp",
        "mlx-c/mlx/c/export.cpp",
        "mlx-c/mlx/c/fast.cpp",
        "mlx-c/mlx/c/fft.cpp",
        "mlx-c/mlx/c/graph_utils.cpp",
        "mlx-c/mlx/c/io.cpp",
        "mlx-c/mlx/c/io_types.cpp",
        "mlx-c/mlx/c/linalg.cpp",
        "mlx-c/mlx/c/map.cpp",
        "mlx-c/mlx/c/memory.cpp",
        "mlx-c/mlx/c/metal.cpp",
        "mlx-c/mlx/c/ops.cpp",
        "mlx-c/mlx/c/random.cpp",
        "mlx-c/mlx/c/stream.cpp",
        "mlx-c/mlx/c/string.cpp",
        "mlx-c/mlx/c/transforms.cpp",
        "mlx-c/mlx/c/transforms_impl.cpp",
        "mlx-c/mlx/c/vector.cpp",
        "mlx-c/mlx/c/version.cpp",
        "mlx-conditional/compiled_conditional.cpp",
        "mlx-conditional/jit_compiler_conditional.cpp",
        "mlx-generated/arange.cpp",
        "mlx-generated/binary.cpp",
        "mlx-generated/binary_ops.cpp",
        "mlx-generated/binary_two.cpp",
        "mlx-generated/compiled_preamble.cpp",
        "mlx-generated/conv.cpp",
        "mlx-generated/copy.cpp",
        "mlx-generated/fft.cpp",
        "mlx-generated/fp_quantized.cpp",
        "mlx-generated/fp_quantized_nax.cpp",
        "mlx-generated/gather.cpp",
        "mlx-generated/gather_axis.cpp",
        "mlx-generated/gather_front.cpp",
        "mlx-generated/gemm.cpp",
        "mlx-generated/gemm_nax.cpp",
        "mlx-generated/gemv.cpp",
        "mlx-generated/gemv_masked.cpp",
        "mlx-generated/hadamard.cpp",
        "mlx-generated/logsumexp.cpp",
        "mlx-generated/masked_scatter.cpp",
        "mlx-generated/quantized.cpp",
        "mlx-generated/quantized_nax.cpp",
        "mlx-generated/quantized_utils.cpp",
        "mlx-generated/reduce.cpp",
        "mlx-generated/reduce_utils.cpp",
        "mlx-generated/scan.cpp",
        "mlx-generated/scatter.cpp",
        "mlx-generated/scatter_axis.cpp",
        "mlx-generated/searchsorted.cpp",
        "mlx-generated/softmax.cpp",
        "mlx-generated/sort.cpp",
        "mlx-generated/steel_attention.cpp",
        "mlx-generated/steel_attention_nax.cpp",
        "mlx-generated/steel_conv.cpp",
        "mlx-generated/steel_conv_3d.cpp",
        "mlx-generated/steel_conv_general.cpp",
        "mlx-generated/steel_gemm_fused.cpp",
        "mlx-generated/steel_gemm_fused_nax.cpp",
        "mlx-generated/steel_gemm_gather.cpp",
        "mlx-generated/steel_gemm_gather_nax.cpp",
        "mlx-generated/steel_gemm_masked.cpp",
        "mlx-generated/steel_gemm_segmented.cpp",
        "mlx-generated/steel_gemm_segmented_nax.cpp",
        "mlx-generated/steel_gemm_splitk.cpp",
        "mlx-generated/steel_gemm_splitk_nax.cpp",
        "mlx-generated/ternary.cpp",
        "mlx-generated/ternary_ops.cpp",
        "mlx-generated/unary.cpp",
        "mlx-generated/unary_ops.cpp",
        "mlx-generated/utils.cpp",
        "mlx/mlx/array.cpp",
        "mlx/mlx/backend/common/broadcasting.cpp",
        "mlx/mlx/backend/common/common.cpp",
        "mlx/mlx/backend/common/compiled.cpp",
        "mlx/mlx/backend/common/load.cpp",
        "mlx/mlx/backend/common/metal_kernel.cpp",
        "mlx/mlx/backend/common/reduce.cpp",
        "mlx/mlx/backend/common/slicing.cpp",
        "mlx/mlx/backend/common/utils.cpp",
        "mlx/mlx/backend/cpu/arg_reduce.cpp",
        "mlx/mlx/backend/cpu/binary.cpp",
        "mlx/mlx/backend/cpu/cholesky.cpp",
        "mlx/mlx/backend/cpu/conv.cpp",
        "mlx/mlx/backend/cpu/copy.cpp",
        "mlx/mlx/backend/cpu/device_info.cpp",
        "mlx/mlx/backend/cpu/distributed.cpp",
        "mlx/mlx/backend/cpu/eig.cpp",
        "mlx/mlx/backend/cpu/eigh.cpp",
        "mlx/mlx/backend/cpu/encoder.cpp",
        "mlx/mlx/backend/cpu/eval.cpp",
        "mlx/mlx/backend/cpu/fft.cpp",
        "mlx/mlx/backend/cpu/gemms/bnns.cpp",
        "mlx/mlx/backend/cpu/gemms/cblas.cpp",
        "mlx/mlx/backend/cpu/hadamard.cpp",
        "mlx/mlx/backend/cpu/indexing.cpp",
        "mlx/mlx/backend/cpu/inverse.cpp",
        "mlx/mlx/backend/cpu/logsumexp.cpp",
        "mlx/mlx/backend/cpu/luf.cpp",
        "mlx/mlx/backend/cpu/masked_mm.cpp",
        "mlx/mlx/backend/cpu/matmul.cpp",
        "mlx/mlx/backend/cpu/primitives.cpp",
        "mlx/mlx/backend/cpu/qrf.cpp",
        "mlx/mlx/backend/cpu/quantized.cpp",
        "mlx/mlx/backend/cpu/reduce.cpp",
        "mlx/mlx/backend/cpu/scan.cpp",
        "mlx/mlx/backend/cpu/select.cpp",
        "mlx/mlx/backend/cpu/softmax.cpp",
        "mlx/mlx/backend/cpu/sort.cpp",
        "mlx/mlx/backend/cpu/svd.cpp",
        "mlx/mlx/backend/cpu/threefry.cpp",
        "mlx/mlx/backend/cpu/unary.cpp",
        "mlx/mlx/backend/cuda/no_cuda.cpp",
        "mlx/mlx/backend/gpu/copy.cpp",
        "mlx/mlx/backend/gpu/primitives.cpp",
        "mlx/mlx/backend/gpu/slicing.cpp",
        "mlx/mlx/backend/metal/allocator.cpp",
        "mlx/mlx/backend/metal/binary.cpp",
        "mlx/mlx/backend/metal/compiled.cpp",
        "mlx/mlx/backend/metal/conv.cpp",
        "mlx/mlx/backend/metal/copy.cpp",
        "mlx/mlx/backend/metal/custom_kernel.cpp",
        "mlx/mlx/backend/metal/device.cpp",
        "mlx/mlx/backend/metal/device_info.cpp",
        "mlx/mlx/backend/metal/distributed.cpp",
        "mlx/mlx/backend/metal/eval.cpp",
        "mlx/mlx/backend/metal/event.cpp",
        "mlx/mlx/backend/metal/fence.cpp",
        "mlx/mlx/backend/metal/fft.cpp",
        "mlx/mlx/backend/metal/hadamard.cpp",
        "mlx/mlx/backend/metal/indexing.cpp",
        "mlx/mlx/backend/metal/jit_kernels.cpp",
        "mlx/mlx/backend/metal/logsumexp.cpp",
        "mlx/mlx/backend/metal/matmul.cpp",
        "mlx/mlx/backend/metal/metal.cpp",
        "mlx/mlx/backend/metal/normalization.cpp",
        "mlx/mlx/backend/metal/primitives.cpp",
        "mlx/mlx/backend/metal/quantized.cpp",
        "mlx/mlx/backend/metal/reduce.cpp",
        "mlx/mlx/backend/metal/resident.cpp",
        "mlx/mlx/backend/metal/rope.cpp",
        "mlx/mlx/backend/metal/scaled_dot_product_attention.cpp",
        "mlx/mlx/backend/metal/scan.cpp",
        "mlx/mlx/backend/metal/slicing.cpp",
        "mlx/mlx/backend/metal/softmax.cpp",
        "mlx/mlx/backend/metal/sort.cpp",
        "mlx/mlx/backend/metal/ternary.cpp",
        "mlx/mlx/backend/metal/unary.cpp",
        "mlx/mlx/backend/metal/utils.cpp",
        "mlx/mlx/compile.cpp",
        "mlx/mlx/device.cpp",
        "mlx/mlx/distributed/distributed.cpp",
        "mlx/mlx/distributed/jaccl/no_jaccl.cpp",
        "mlx/mlx/distributed/mpi/no_mpi.cpp",
        "mlx/mlx/distributed/nccl/no_nccl.cpp",
        "mlx/mlx/distributed/ops.cpp",
        "mlx/mlx/distributed/primitives.cpp",
        "mlx/mlx/distributed/ring/ring.cpp",
        "mlx/mlx/distributed/utils.cpp",
        "mlx/mlx/dtype.cpp",
        "mlx/mlx/dtype_utils.cpp",
        "mlx/mlx/einsum.cpp",
        "mlx/mlx/export.cpp",
        "mlx/mlx/fast.cpp",
        "mlx/mlx/fft.cpp",
        "mlx/mlx/graph_utils.cpp",
        "mlx/mlx/io/load.cpp",
        "mlx/mlx/io/no_gguf.cpp",
        "mlx/mlx/io/safetensors.cpp",
        "mlx/mlx/linalg.cpp",
        "mlx/mlx/ops.cpp",
        "mlx/mlx/primitives.cpp",
        "mlx/mlx/random.cpp",
        "mlx/mlx/scheduler.cpp",
        "mlx/mlx/stream.cpp",
        "mlx/mlx/transforms.cpp",
        "mlx/mlx/utils.cpp",
        "mlx/mlx/version.cpp"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.3"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Source/Cmlx/mlx/build': File not found.
Done.