MISR Toolkit  1.5.1
Macros | Typedefs | Enumerations | Functions | Variables
atom.h File Reference
#include "H4api_adpt.h"
#include "hdf.h"

Go to the source code of this file.

Macros

#define HASH_SIZE_POWER_2
 
#define ATOMS_ARE_CACHED
 
#define ATOMS_CACHE_INLINE
 
#define HAIswap_cache(i, j)
 
#define HAatom_object(atm)
 

Typedefs

typedef int32 atom_t
 
typedef intn(* HAsearch_func_t) (const void *obj, const void *key)
 

Enumerations

enum  group_t {
  BADGROUP =(-1),
  DDGROUP =0,
  AIDGROUP =1,
  FIDGROUP =2,
  VGIDGROUP =3,
  VSIDGROUP =4,
  GRIDGROUP =5,
  RIIDGROUP =6,
  BITIDGROUP =7,
  ANIDGROUP =8,
  MAXGROUP,
  BADGROUP =(-1),
  DDGROUP =0,
  AIDGROUP =1,
  FIDGROUP =2,
  VGIDGROUP =3,
  VSIDGROUP =4,
  GRIDGROUP =5,
  RIIDGROUP =6,
  BITIDGROUP =7,
  ANIDGROUP =8,
  MAXGROUP
}
 

Functions

HDFLIBAPI intn HAinit_group (group_t grp, intn hash_size)
 
HDFLIBAPI intn HAdestroy_group (group_t grp)
 
HDFLIBAPI atom_t HAregister_atom (group_t grp, VOIDP object)
 
HDFLIBAPI VOIDP HAPatom_object (atom_t atm)
 
HDFLIBAPI group_t HAatom_group (atom_t atm)
 
HDFLIBAPI VOIDP HAremove_atom (atom_t atm)
 
HDFLIBAPI VOIDP HAsearch_atom (group_t grp, HAsearch_func_t func, const void *key)
 
HDFLIBAPI intn HAshutdown (void)
 

Variables

HDFLIBAPI atom_t atom_id_cache []
 
HDFLIBAPI VOIDP atom_obj_cache []
 

Macro Definition Documentation

◆ ATOMS_ARE_CACHED

#define ATOMS_ARE_CACHED

Definition at line 37 of file atom.h.

◆ ATOMS_CACHE_INLINE

#define ATOMS_CACHE_INLINE

Definition at line 41 of file atom.h.

◆ HAatom_object

#define HAatom_object (   atm)
Value:
(atom_id_cache[0]==atm ? atom_obj_cache[0] : \
atom_id_cache[1]==atm ? (HAIswap_cache(0,1),atom_obj_cache[0]) : \
atom_id_cache[2]==atm ? (HAIswap_cache(1,2),atom_obj_cache[1]) : \
atom_id_cache[3]==atm ? (HAIswap_cache(2,3),atom_obj_cache[2]) : \
#define HAIswap_cache(i, j)
Definition: atom.h:46
HDFLIBAPI atom_t atom_id_cache[]
Definition: atom.h:156
HDFLIBAPI VOIDP HAPatom_object(atom_t atm)
HDFLIBAPI VOIDP atom_obj_cache[]
Definition: atom.h:157

Definition at line 55 of file atom.h.

◆ HAIswap_cache

#define HAIswap_cache (   i,
 
)
Value:
atom_obj_cache[i]=(void *)((hdf_pint_t)atom_obj_cache[j]^(hdf_pint_t)atom_obj_cache[i]), \
atom_id_cache[j]^=atom_id_cache[i], \
atom_obj_cache[j]=(void *)((hdf_pint_t)atom_obj_cache[i]^(hdf_pint_t)atom_obj_cache[j]), \
atom_id_cache[i]^=atom_id_cache[j], \
atom_obj_cache[i]=(void *)((hdf_pint_t)atom_obj_cache[i]^(hdf_pint_t)atom_obj_cache[j])
HDFLIBAPI atom_t atom_id_cache[]
Definition: atom.h:156
HDFLIBAPI VOIDP atom_obj_cache[]
Definition: atom.h:157

Definition at line 46 of file atom.h.

◆ HASH_SIZE_POWER_2

#define HASH_SIZE_POWER_2

Definition at line 34 of file atom.h.

Typedef Documentation

◆ atom_t

typedef int32 atom_t

Definition at line 80 of file atom.h.

◆ HAsearch_func_t

typedef intn(* HAsearch_func_t) (const void *obj, const void *key)

Definition at line 83 of file atom.h.

Enumeration Type Documentation

◆ group_t

enum group_t
Enumerator
BADGROUP 
DDGROUP 
AIDGROUP 
FIDGROUP 
VGIDGROUP 
VSIDGROUP 
GRIDGROUP 
RIIDGROUP 
BITIDGROUP 
ANIDGROUP 
MAXGROUP 
BADGROUP 
DDGROUP 
AIDGROUP 
FIDGROUP 
VGIDGROUP 
VSIDGROUP 
GRIDGROUP 
RIIDGROUP 
BITIDGROUP 
ANIDGROUP 
MAXGROUP 

Definition at line 66 of file atom.h.

Function Documentation

◆ HAatom_group()

HDFLIBAPI group_t HAatom_group ( atom_t  atm)

◆ HAdestroy_group()

HDFLIBAPI intn HAdestroy_group ( group_t  grp)

◆ HAinit_group()

HDFLIBAPI intn HAinit_group ( group_t  grp,
intn  hash_size 
)

◆ HAPatom_object()

HDFLIBAPI VOIDP HAPatom_object ( atom_t  atm)

◆ HAregister_atom()

HDFLIBAPI atom_t HAregister_atom ( group_t  grp,
VOIDP  object 
)

◆ HAremove_atom()

HDFLIBAPI VOIDP HAremove_atom ( atom_t  atm)

◆ HAsearch_atom()

HDFLIBAPI VOIDP HAsearch_atom ( group_t  grp,
HAsearch_func_t  func,
const void *  key 
)

◆ HAshutdown()

HDFLIBAPI intn HAshutdown ( void  )

Variable Documentation

◆ atom_id_cache

HDFLIBAPI atom_t atom_id_cache[]

Definition at line 156 of file atom.h.

◆ atom_obj_cache

HDFLIBAPI VOIDP atom_obj_cache[]

Definition at line 157 of file atom.h.


MISR Toolkit - Copyright © 2005 - 2020 Jet Propulsion Laboratory
Generated on Fri Jun 19 2020 22:49:53