File: quadlsq.h

package info (click to toggle)
tesseract 2.04-2%2Bsqueeze1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,336 kB
  • ctags: 6,860
  • sloc: cpp: 81,388; sh: 3,446; java: 1,220; makefile: 376
file content (67 lines) | stat: -rw-r--r-- 2,168 bytes parent folder | download | duplicates (5)
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
57
58
59
60
61
62
63
64
65
66
67
/**********************************************************************
 * File:        quadlsq.h  (Formerly qlsq.h)
 * Description: Code for least squares approximation of quadratics.
 * Author:		Ray Smith
 * Created:		Wed Oct  6 15:14:23 BST 1993
 *
 * (C) Copyright 1993, Hewlett-Packard Ltd.
 ** Licensed under the Apache License, Version 2.0 (the "License");
 ** you may not use this file except in compliance with the License.
 ** You may obtain a copy of the License at
 ** http://www.apache.org/licenses/LICENSE-2.0
 ** Unless required by applicable law or agreed to in writing, software
 ** distributed under the License is distributed on an "AS IS" BASIS,
 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 ** See the License for the specific language governing permissions and
 ** limitations under the License.
 *
 **********************************************************************/

#ifndef           QUADLSQ_H
#define           QUADLSQ_H

#include          "points.h"

class QLSQ
{
  public:
    QLSQ() {  //constructor
      clear();  //set to zeros
    }
    void clear();  //initialize

    void add(           //add element
             double x,  //coords to add
             double y);
    void remove(           //delete element
                double x,  //coords to delete
                double y);
    inT32 count() {  //no of elements
      return n;
    }

    void fit(              //fit the given
             int degree);  //return actual
    double get_a() {  //get x squard
      return a;
    }
    double get_b() {  //get x squard
      return b;
    }
    double get_c() {  //get x squard
      return c;
    }

  private:
    inT32 n;                     //no of elements
    double a, b, c;              //result
    double sigx;                 //sum of x
    double sigy;                 //sum of y
    double sigxx;                //sum x squared
    double sigxy;                //sum of xy
    double sigyy;                //sum y squared
    long double sigxxx;          //sum x cubed
    long double sigxxy;          //sum xsquared y
    long double sigxxxx;         //sum x fourth
};
#endif