File: Farray.h

package info (click to toggle)
numpy 1%3A2.2.4%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 83,420 kB
  • sloc: python: 248,499; asm: 232,365; ansic: 216,874; cpp: 135,657; f90: 1,540; sh: 938; fortran: 558; makefile: 409; sed: 139; xml: 109; java: 92; perl: 79; cs: 54; javascript: 53; objc: 29; lex: 13; yacc: 9
file content (56 lines) | stat: -rw-r--r-- 906 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef FARRAY_H
#define FARRAY_H

#include <stdexcept>
#include <string>

class Farray
{
public:

  // Size constructor
  Farray(int nrows, int ncols);

  // Copy constructor
  Farray(const Farray & source);

  // Destructor
  ~Farray();

  // Assignment operator
  Farray & operator=(const Farray & source);

  // Equals operator
  bool operator==(const Farray & other) const;

  // Length accessors
  int nrows() const;
  int ncols() const;

  // Set item accessor
  long & operator()(int i, int j);

  // Get item accessor
  const long & operator()(int i, int j) const;

  // String output
  std::string asString() const;

  // Get view
  void view(int* nrows, int* ncols, long** data) const;

private:
  // Members
  int _nrows;
  int _ncols;
  long * _buffer;

  // Default constructor: not implemented
  Farray();

  // Methods
  void allocateMemory();
  int  offset(int i, int j) const;
};

#endif