Loading...
Searching...
No Matches
sparse.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <grass/linkm.h>`
`#include <grass/bitmap.h>`
Include dependency graph for sparse.c:

Go to the source code of this file.

## Macros

#define | BM_col_to_byte(x)
#define | BM_col_to_bit(x)

## Functions

struct BM * | BM_create_sparse (int x, int y)
| Create a sparse bitmap of dimension 'x'/'y'.
int | BM_destroy_sparse (struct BM *map)
| Destroy sparse bitmap and free all associated memory.
int | BM_set_sparse (struct BM *map, int x, int y, int val)
| Set sparse bitmap value to 'val' at location 'x'/'y'.
int | BM_get_sparse (struct BM *map, int x, int y)
| Returns sparse bitmap value at location 'x'/'y'.
size_t | BM_get_map_size_sparse (struct BM *map)
| Returns size of sparse bitmap in bytes.
int | BM_dump_map_sparse (struct BM *map)
| Debugging code to dump out structure of links.
int | BM_dump_map_row_sparse (struct BM *map, int y)
| Debugging code to dump out structure of links for single row.
int | BM_file_write_sparse (FILE *fp, struct BM *map)
| Write sparse bitmap matrix out to disk file 'fp'. NOTE: 'fp' must already be opened and later closed by user.

## Macro Definition Documentation

## BM_col_to_bit

#define BM_col_to_bit | ( |  | x | ) |

Value:
((x) & 7) /* x % 8 */
x
#define x

Definition at line 26 of file sparse.c.

## BM_col_to_byte

#define BM_col_to_byte | ( |  | x | ) |

Value:
((x) >> 3) /* x / 8 */

Definition at line 25 of file sparse.c.

## Function Documentation

## BM_create_sparse()

struct BM * BM_create_sparse | ( | int | x,
|  | int | y )

Create a sparse bitmap of dimension 'x'/'y'.

Returns bitmap structure or NULL on error

Parameters

  x |
  y |

Returns
  struct BM

Definition at line 41 of file sparse.c.

References count, link_init(), link_new(), link_set_chunk_size(), NULL, and x.

Referenced by BM_create(), and main().

## BM_destroy_sparse()

int BM_destroy_sparse | ( | struct BM * | map | ) |

Destroy sparse bitmap and free all associated memory.

Returns 0

Parameters

  map |

Returns
  int

Definition at line 86 of file sparse.c.

References link_cleanup(), link_dispose(), NULL, and VOID_T.

Referenced by BM_destroy().

## BM_dump_map_row_sparse()

int BM_dump_map_row_sparse | ( | struct BM * | map,
|  | int | y )

Debugging code to dump out structure of links for single row.

Returns 0

Parameters

  map |
  y |

Returns
  int

Definition at line 316 of file sparse.c.

References NULL.

Referenced by main().

## BM_dump_map_sparse()

int BM_dump_map_sparse | ( | struct BM * | map | ) |

Debugging code to dump out structure of links.

Returns 0

Parameters

  map |

Returns
  int

Definition at line 288 of file sparse.c.

References NULL.

## BM_file_write_sparse()

int BM_file_write_sparse | ( | FILE * | fp,
|  | struct BM * | map )

Write sparse bitmap matrix out to disk file 'fp'. NOTE: 'fp' must already be opened and later closed by user.

Returns 0 on success or -1 on error

Parameters

  fp |
  map |

Returns
  int

Definition at line 346 of file sparse.c.

References NULL.

Referenced by BM_file_write().

## BM_get_map_size_sparse()

size_t BM_get_map_size_sparse | ( | struct BM * | map | ) |

Returns size of sparse bitmap in bytes.

Parameters

  map |

Returns
  int

Definition at line 260 of file sparse.c.

References NULL.

Referenced by BM_get_map_size().

## BM_get_sparse()

int BM_get_sparse | ( | struct BM * | map,
|  | int | x,
|  | int | y )

Returns sparse bitmap value at location 'x'/'y'.

Returns value or -1 on error

Parameters

  map |
  x |
  y |

Returns
  int

Definition at line 236 of file sparse.c.

References cur_x, NULL, and x.

Referenced by BM_get().

## BM_set_sparse()

int BM_set_sparse | ( | struct BM * | map,
|  | int | x,
|  | int | y,
|  | int | val )

Set sparse bitmap value to 'val' at location 'x'/'y'.

Returns 0

Parameters

  map |
  x |
  y |
  val |

Returns
  int

Definition at line 122 of file sparse.c.

References cur_x, link_dispose(), link_new(), NULL, VOID_T, and x.

Referenced by BM_set().