Subversion Repositories filter_foundry

Rev

Rev 193 | Rev 268 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.         This file is part of a common library
  3.     Copyright (C) 1990-2006 Toby Thain, toby@telegraphics.com.au
  4.  
  5.     This program is free software; you can redistribute it and/or modify
  6.     it under the terms of the GNU General Public License as published by  
  7.     the Free Software Foundation; either version 2 of the License, or
  8.     (at your option) any later version.
  9.  
  10.     This program is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.     GNU General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU General Public License  
  16.     along with this program; if not, write to the Free Software
  17.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18. */
  19.  
  20. #include <ctype.h>
  21. //#include <fp.h> // double_t
  22. #include <stdlib.h>
  23. #include <string.h> // strcpy
  24.  
  25. #define RANGE(lo,hi) (((1<<(hi-lo+1))-1)<<lo)
  26.  
  27. #define STRDUP(d,s) strcpy((d) = malloc(strlen(s)+1),(s))
  28. #define NEW(x) ((x) = malloc(sizeof*(x)))
  29. #define DISPOSE free
  30.  
  31. #define SGN(x) ((x) < 0 ? -1 : (x) > 0)
  32. #define HEX(c) (isdigit(c) ? (c)-'0' : tolower(c)-'a'+10)
  33.  
  34. enum{
  35.         ANON='\?\?\?\?' // anonymous file type/creator
  36. };
  37.  
  38.  
  39. int GCD(int m,int n);
  40. void simplify_fraction(int n,int d, int*n_,int*d_);
  41. void multiply_fraction(int u,int u_, int v,int v_, int*w,int*w_);
  42. // these are defined as macros in Photoshop API :(
  43. #ifndef max
  44. int max(int a,int b);
  45. int min(int a,int b);
  46. #endif
  47. void copy_hex(char *p,unsigned char *q,int n);
  48. int count_set_bits(unsigned x);
  49. char *cat(char *d,char *s);
  50. int spf(char *s,char *fmt,...);
  51.