v3.25.2
Note 9 - Net Income Per Share (Tables)
6 Months Ended
Jun. 30, 2025
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
   

Three months ended

   

Six months ended

 
   

June 30,

   

June 30,

 
   

2025

   

2024

   

2025

   

2024

 
   

(in thousands, except per share data)

   

(in thousands, except per share data)

 

Numerator:

                               

Net income

  $ 13,779     $ 11,826     $ 24,790     $ 21,713  
                                 

Denominator:

                               

Weighted average basic common shares outstanding

    22,614       22,458       22,592       22,412  

Effect of dilutive securities:

                               

Options to purchase common stock

    210       184       235       173  

Resticted stock units

    40       57       39       47  

Performance-based restricted stock units

    28       26       30       25  

Weighted average dilutive common shares outstanding

    22,892       22,725       22,896       22,657  
                                 

Net income per share:

                               

Basic

  $ 0.61     $ 0.53     $ 1.10     $ 0.97  

Diluted

  $ 0.60     $ 0.52     $ 1.08     $ 0.96  
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]
   

Three months ended

   

Six months ended

 
   

June 30,

   

June 30,

 
   

2025

   

2024

   

2025

   

2024

 
   

(in thousands)

   

(in thousands)

 
                                 

Convertible senior notes

    1,442       -       1,442       -  

Options to purchase common stock

    126       26       126       147  

Restricted stock units

    32       -       32       -  

Performance-based restricted stock units

    10       -       10       -  
      1,610       26       1,610       147