⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mod128.h

📁 一OCR的相关资料。.希望对研究OCR的朋友有所帮助.
💻 H
字号:
/********************************************************************** * File:        mod128.h  (Formerly dir128.h) * Description: Header for class which implements modulo arithmetic. * Author:					Ray Smith * Created:					Tue Mar 26 17:48:13 GMT 1991 * * (C) Copyright 1991, 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           MOD128_H#define           MOD128_H#include          "points.h"#define MODULUS       128        /*range of directions */#define DIRBITS       7          //no of bits used#define DIRSCALE      1000       //length of vectorclass DLLSYM DIR128{  public:    DIR128() {     }                            //empty constructor    DIR128(                //constructor           INT16 value) {  //value to assign      value %= MODULUS;          //modulo arithmetic      if (value < 0)        value += MODULUS;        //done properly      dir = (INT8) value;    }    DIR128(const FCOORD fc);  //quantize vector    DIR128 & operator= (         //assign of INT16    INT16 value) {               //value to assign      value %= MODULUS;          //modulo arithmetic      if (value < 0)        value += MODULUS;        //done properly      dir = (INT8) value;      return *this;    }    INT8 operator- (             //subtraction      const DIR128 & minus) const//for signed result    {                                 //result      INT16 result = dir - minus.dir;      if (result > MODULUS / 2)        result -= MODULUS;       //get in range      else if (result < -MODULUS / 2)        result += MODULUS;      return (INT8) result;    }    DIR128 operator+ (           //addition      const DIR128 & add) const  //of itself    {      DIR128 result;             //sum      result = dir + add.dir;    //let = do the work      return result;    }    DIR128 & operator+= (        //same as +    const DIR128 & add) {      *this = dir + add.dir;     //let = do the work      return *this;    }    INT8 get_dir() const {  //access function      return dir;    }    ICOORD vector() const;  //turn to vector  private:    INT8 dir;                    //a direction};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -