swapbytes — Reverse the byte order of numeric values.
swapbytes(X) reverses the byte order of each numeric element while preserving the input numeric class.
Syntax
Y = swapbytes(X)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
X | NumericArray | Yes | — | Numeric scalar or array whose element byte order is reversed. |
Returns
| Name | Type | Description |
|---|---|---|
C | NumericArray | Bitwise numeric result. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:bitwise:InvalidInput | Inputs are not finite integer-valued numeric, logical, or gatherable gpuArray values. | bitwise operation: invalid input |
How swapbytes works
- Supports scalar integer values and scalar doubles.
- Supports dense
double,single, and all eight native integer classes, including full-widthint64anduint64values. uint8values are unchanged because they contain one byte.- Floating-point values are reinterpreted by their IEEE bytes, byte-swapped, and returned in the same class.
- Integer outputs preserve input class, shape, and exact byte-reversed values for all eight integer classes.
- Logical, complex, string, cell, struct, and object inputs raise errors.
- Automatically resident inputs gather transparently. Explicit gpuArray input uses the same host fallback only when RunMat extensions are enabled.
Examples
Swap an unsigned integer scalar
y = swapbytes(uint16(hex2dec('1234')))Expected output:
y = uint16
13330Swap every element of an unsigned integer array
y = swapbytes(uint16([hex2dec('1234') hex2dec('00ff')]))Expected output:
y = uint16([hex2dec('3412') hex2dec('ff00')])Using swapbytes with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how swapbytes changes the result.
Run a small swapbytes example, explain the result, then change one input and compare the output.
FAQ
Does swapbytes preserve integer class?⌄
Yes. Every native integer class is byte-swapped directly in authoritative storage and returned with the same class and shape. Eight-bit values are unchanged because each element contains only one byte.
What happens with resident inputs?⌄
Automatic residency is transparent: RunMat gathers, swaps bytes exactly on the host, and returns the host result. An explicitly requested gpuArray fallback is an additional capability and requires RunMat extensions to be enabled.
Related Math functions
Elementwise
abs · angle · bsxfun · complex · conj · double · erf · erfcinv · exp · expm1 · factorial · flintmax · gamma · gammaln · heaviside · hypot · idivide · imag · intmax · intmin · ldivide · log · log10 · log1p · log2 · minus · nextpow2 · plus · pow2 · power · rdivide · real · realmax · realmin · realsqrt · rescale · sign · single · sqrt · times · typecast · uint16 · uint32 · uint8
Trigonometry
acos · acosh · asin · asinh · atan · atan2 · atanh · cos · cosd · cosh · cospi · deg2rad · pol2cart · rad2deg · sin · sind · sinh · sinpi · tan · tand · tanh
Reduction
all · any · bounds · cummax · cummin · cumprod · cumsum · cumtrapz · diff · gradient · max · maxk · mean · median · min · mink · movmax · movmean · movmedian · movmin · movprod · movstd · movsum · movvar · nnz · prod · rms · std · sum · trapz · var
Structure
bandwidth · isdiag · ishermitian · issymmetric · istril · istriu · symrcm
Signal
blackman · butter · buttord · cheb2ord · conv · conv2 · deconv · downsample · envelope · filter · filtfilt · fir1 · freqz · gauspuls · hamming · hann · hilbert · periodogram · pulstran · pwelch · rectpuls · resample · sawtooth · sinc · spectrogram · square · tripuls · unwrap · upsample · zplane
Optim
coneprog · fminbnd · fminunc · fsolve · fzero · integral · linprog · lsqcurvefit · lsqnonlin · optimoptions · optimset · quad · secondordercone
Ops
cross · ctranspose · dot · mldivide · mpower · mrdivide · mtimes · pagemtimes · pagetranspose · trace · transpose
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how swapbytes is executed, line by line, in Rust.
- View the source for swapbytes in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.