XML 37 R28.htm IDEA: XBRL DOCUMENT
v3.25.2

Basic and Diluted Net Income (Loss) Per Share (Tables) | 6 Months Ended
--- | ---
Jul. 31, 2025
Earnings Per Share [Abstract] |
Computation of Basic and Diluted Net Income (Loss) Per Share of Common Stock | The following table sets forth the computation of basic and diluted net income (loss) per share of common stock (in thousands, except share and per share data):
|  | Three Months Ended |  | Six Months Ended
|  | July 31, 2025 |  | July 31, 2024 |  | July 31, 2025 |  | July 31, 2024
Numerator |  |  |  |  |  |  |  |  |  |  |  |
Net income (loss) |  | $ | 1,255 |  | $ | (2,137) |  | $ | 1,114 |  | $ | (4,276)
Denominator |  |  |  |  |  |  |  |  |  |  |  |
Basic weighted average common shares |  |  | 27,595,209 |  |  | 26,556,754 |  |  | 27,521,797 |  |  | 26,392,351
Potentially dilutive shares from equity plans |  |  | 530,095 |  |  | — |  |  | 702,913 |  |  | —
Diluted weighted-average common shares |  |  | 28,125,304 |  |  | 26,556,754 |  |  | 28,224,710 |  |  | 26,392,351
Basic net income (loss) per share |  | $ | 0.05 |  | $ | (0.08) |  | $ | 0.04 |  | $ | (0.16)
Diluted net income (loss) per share |  | $ | 0.04 |  | $ | (0.08) |  | $ | 0.04 |  | $ | (0.16)

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 + Details
Name: | us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration