Personal tools
You are here: Home Projects C++ Cfront releases Release 3.0.3 source incl-master const-headers g2inline.h
Document Actions

g2inline.h

by Michael L Powell last modified 2007-01-26 03:20

Click here to get the file

Size 1.2 kB - File type text/plain

File contents

/*ident	"@(#)G2++:incl/g2inline.h	3.1" */
/******************************************************************************
*
* C++ Standard Components, Release 3.0.
*
* Copyright (c) 1991, 1992 AT&T and Unix System Laboratories, Inc.
* Copyright (c) 1988, 1989, 1990 AT&T.  All Rights Reserved.
*
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T and Unix System
* Laboratories, Inc.  The copyright notice above does not evidence
* any actual or intended publication of such source code.
*
******************************************************************************/

#ifndef G2INLINEH
#define G2INLINEH

#include <g2mach.h>
#include <g2io.h>

static int gcd( int m, int n)
{
    int i;

    if( m < n)
	return gcd(n,m);

    if( i = m %n)
	return gcd(n,i);

    return n;
}

static inline int lcm(int m, int n)
{ 
    return (m * n)/gcd(m,n);
}

static inline int align(int offset, int align)
{
    return ((offset)+align-1)/align*align;
}

static inline int alignof(int ival)
{
    return( ival==LONG_INT_ATTLC ? (LONG_ALIGN_ATTLC) :
	        (ival==STRING_INT_ATTLC ? (STRING_ALIGN_ATTLC) :
		    (ival==CHAR_INT_ATTLC ? (CHAR_ALIGN_ATTLC) :
		        (ival==SHORT_INT_ATTLC ? (SHORT_ALIGN_ATTLC) : (0)
			)
	    	    )
		)
    	  );
}

#endif
« March 2024 »
Su Mo Tu We Th Fr Sa
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
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: