LFM2-WebGPU / src /tools /random_number.js
mlabonne's picture
Add demo source code (#1)
68185ce verified
raw
history blame
1.43 kB
/**
* Generate a random integer between min and max (inclusive).
* @param {number} min - Minimum value (inclusive).
* @param {number} max - Maximum value (inclusive).
* @returns {number} A random integer.
*/
export function random_number(min, max) {
min = Math.ceil(Number(min));
max = Math.floor(Number(max));
if (isNaN(min) || isNaN(max) || min > max) {
throw new Error("Invalid min or max value.");
}
return Math.floor(Math.random() * (max - min + 1)) + min;
}
export default (input, output) =>
React.createElement(
"div",
{ className: "bg-indigo-50 border border-indigo-200 rounded-lg p-4" },
React.createElement(
"div",
{ className: "flex items-center mb-2" },
React.createElement(
"div",
{
className:
"w-8 h-8 bg-indigo-100 rounded-full flex items-center justify-center mr-3",
},
"🎲",
),
React.createElement(
"h3",
{ className: "text-indigo-900 font-semibold" },
"Random Number",
),
),
React.createElement(
"div",
{ className: "text-center" },
React.createElement(
"div",
{ className: "text-3xl font-bold text-indigo-600 mb-1" },
output,
),
React.createElement(
"p",
{ className: "text-indigo-500 text-xs" },
`Range: ${input.min || "?"} - ${input.max || "?"}`,
),
),
);