Type for consistently handling masks in Neko. This type encapsulates the mask array and its associated device pointer.  
 More...
 | 
| generic, public  | init (this, mask_array, n_elements) | 
|   | Initialize the mask from a 1-indexed host array.  
  | 
|   | 
| generic, public  | init (this, mask_array_d, n_elements) | 
|   | Initialize the mask from a 0-indexed device array.  
  | 
|   | 
| generic, public  | init (this, other) | 
|   | Initialize the mask from another mask object.  
  | 
|   | 
| procedure, pass(this), public  | free (this) | 
|   | Free the mask object.  
  | 
|   | 
| procedure, pass(this), public  | size (this) | 
|   | Get the size of the mask.  
  | 
|   | 
| procedure, pass(this), public  | is_set (this) | 
|   | Check if the mask is set.  
  | 
|   | 
| procedure, pass(this), public  | get_d (this) | 
|   | Get the device pointer to the mask array.  
  | 
|   | 
| generic, public  | set (this, mask_array, n_elements) | 
|   | Set the mask from a 1-indexed host array.  
  | 
|   | 
| generic, public  | set (this, mask_array_d, n_elements) | 
|   | Set the mask from a 0-indexed device array.  
  | 
|   | 
| generic, public  | get (this) | 
|   | Get the mask array.  
  | 
|   | 
| generic, public  | get (this, index) | 
|   | Get the mask array.  
  | 
|   | 
| procedure, pass(this)  | allocate (this, n_elements) | 
|   | Allocate the mask object.  
  | 
|   | 
| procedure, pass(this)  | init_from_array (this, mask_array, n_elements) | 
|   | Initialize the mask from a 1-indexed host array.  
  | 
|   | 
| procedure, pass(this)  | init_from_array_device (this, mask_array_d, n_elements) | 
|   | Initialize the mask from a 0-indexed device array.  
  | 
|   | 
| procedure, pass(this)  | init_from_mask (this, other) | 
|   | Initialize the mask from another mask object.  
  | 
|   | 
| procedure, pass(this)  | mask_set (this, mask_array, n_elements) | 
|   | Set the mask from a 1-indexed host array.  
  | 
|   | 
| procedure, pass(this)  | mask_set_d (this, mask_array_d, n_elements) | 
|   | Set the mask from a 0-indexed device array.  
  | 
|   | 
| procedure, pass(this)  | mask_get (this) | 
|   | Get the mask array.  
  | 
|   | 
| procedure, pass(this)  | mask_get_i (this, index) | 
|   | Get the mask array.  
  | 
|   | 
- Note
 - The mask is platform-agnostic, meaning it can be used on both CPU and GPU, without adjusting for 1-based or 0-based indexing. 
 
Definition at line 51 of file mask.f90.