XML 21 R11.htm IDEA: XBRL DOCUMENT
v3.25.3

Net Income (Loss) Per Share | 3 Months Ended
--- | ---
Oct. 31, 2025
Earnings Per Share [Abstract] |
Net Income (Loss) Per Share | Net Income (Loss) Per Share The Company calculates basic earnings per share by dividing the net income (loss) by the weighted average number of shares of common stock outstanding for the period. For calculating diluted earnings per share, the Company uses the treasury stock method for options to purchase common stock, time-based RSUs, performance-based restricted stock units (“PSUs”), and Employee Stock Purchase Plan (“ESPP”) purchase rights, and the if-converted method for the Convertible Senior Notes. RSUs and PSUs are collectively referred to as “Stock Awards.” The following table sets forth the computation of the Company’s basic and diluted net income (loss) per share for the periods presented (in thousands, except share and per share amounts):
| Three Months Ended |  |
| October 31, |  |
| 2025 |  | 2024 |  |  |  |
Numerator: |  |  |  |  |  |  |
Net income (loss) | $ | 31,308 |  |  | $ | 9,139 |  |  |  |  |
Net income (loss) per share: |  |  |  |  |  |  |
Basic | $ | 0.37 |  |  | $ | 0.11 |  |  |  |  |
Diluted | $ | 0.36 |  |  | $ | 0.11 |  |  |  |  |
Denominator: |  |  |  |  |  |  |
Weighted average shares used in computing net income (loss) per share: |  |  |  |  |  |  |
Basic | 84,780,201 |  |  | 83,276,236 |  |  |  |  |
Weighted average effect of dilutive stock options | 77,299 |  |  | 93,718 |  |  |  |  |
Weighted average effect of dilutive stock awards | 1,593,579 |  |  | 1,805,910 |  |  |  |  |
Weighted average effect of dilutive convertible senior notes | — |  |  | 785,004 |  |  |  |  |
Weighted average effect of the ESPP purchase rights | 658 |  |  | — |  |  |  |  |
Diluted | 86,451,737 |  |  | 85,960,868 |  |  |  |  |
The following weighted average shares of potential common stock were excluded from the computation of diluted net income (loss) per share for the periods presented because including them would have been anti-dilutive:
| Three Months Ended |  |
| October 31, |  |
| 2025 |  | 2024 |  |  |  |
Stock awards | 191,634 |  |  | 151,662 |  |  |  |  |
ESPP purchase rights | 1,744 |  |  | — |  |  |  |  |
During the three months ended October 31, 2025 and 2024, the average market price of the Company’s common stock did not exceed the initial conversion price of the 2029 Convertible Senior Notes. During the three months ended October 31, 2025, there was no dilutive effect on net income (loss) per share due to maturity and settlement of the outstanding principal balance of the 2025 Convertible Senior Notes in fiscal year 2025. During the three months ended October 31, 2024, the average market price of the Company’s common stock exceeded the initial conversion price of the 2025 Convertible Senior Notes, and the conversion premium was included in weighted average shares outstanding for calculating diluted net income per share.

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 The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration