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

📄 code.h

📁 利用语言编写的有限元分析软件
💻 H
字号:
/*
 *  ============================================================================= 
 *  ALADDIN Version 1.0 :
 *               code.h : Declarations for Stack Machine
 *                                                                     
 *  Copyright (C) 1995 by Mark Austin, Xiaoguang Chen, and Wane-Jang Lin
 *  Institute for Systems Research,                                           
 *  University of Maryland, College Park, MD 20742                                   
 *                                                                     
 *  This software is provided "as is" without express or implied warranty.
 *  Permission is granted to use this software for any on any computer system
 *  and to redistribute it freely, subject to the following restrictions:
 * 
 *  1. The authors are not responsible for the consequences of use of
 *     this software, even if they arise from defects in the software.
 *  2. The origin of this software must not be misrepresented, either
 *     by explicit claim or by omission.
 *  3. Altered versions must be plainly marked as such, and must not
 *     be misrepresented as being the original software.
 *  4. This notice is to remain intact.
 *                                                                    
 *  Written by: Mark Austin, Xiaoguang Chen, and Wane-Jang Lin      December 1995
 *  ============================================================================= 
 */

#ifndef  CODE_H
#define  CODE_H 

typedef union Datum  {
        QUANTITY    *q;
        MATRIX      *m;
	SYMBOL    *sym;
} DATUM;

typedef int (*Inst)();
#define STOP  (Inst) 0

extern Inst *progp, *progbase;
extern Inst  prog[];

#ifdef __STDC__
Inst  *Code( Inst );
int    Execute( Inst * );
int    Push( DATUM );
#else
Inst  *Code();
int    Execute();
int    Push();
#endif

DATUM   Pop();
int     Pop_Eval();
int     Init_Code();

/* Finite State Machine Routines */

int     If_Code();
int     For_Code();
int     While_Code();
int     Call();
int     Arg();
int     Arg_Assign();
int     Proc_Ret();
int     Func_Ret();

/* External Function Declarations */

int     Bltin_Break();
int     Check_Break();
int     After_Break();

int     Variable_Eval();
int     String_Eval();
int     Matrix_Eval();
int     Dimension_Eval();

int     Matrix_Build();
int     Bltin_Matrix();
int     Bltin1_Matrix();
int     Bltin2_Matrix();
int     Bltin3_Matrix();
int     BltinVar_Matrix();

int     Bltin_Quantity();
int     Bltin1_Quantity();
int     Bltin2_Quantity();
int     Bltin3_Quantity();
int     BltinVar_Quantity();

int     BltinVar_String();
int     BltinVar_Void();

int     Assign_Quantity();
int     Assign_Matrix();
int     Assign_Matrix_Item();

int     Push_Variable();
int     Push_Constant();
int     Push_String();
int     Push_Matrix();
int     Push_Argument();

int     Print_Expr();
int     Print_Dimen_Expr();
int     Print_String();

/* Engineering Dimensions/Units */

int     Push_Dimension();
int     Push_Dimensionless();
int     Dimension_Mult();
int     Dimension_Div();
int     Dimension_Div2();
int     Dimension_Power();

/* Engineering Quantities */

int     Quantity_Add();
int     Quantity_Sub();
int     Quantity_Mul();
int     Quantity_Div();
int     Quantity_Affirm();
int     Quantity_Negate();
int     Quantity_Power();
int     Quantity_Gt();
int     Quantity_Lt();
int     Quantity_Eq();
int     Quantity_Ge();
int     Quantity_Le();
int     Quantity_Ne();
int     Quantity_And();
int     Quantity_Or();
int     Quantity_Not();
int     Quantity_Yes();
int     Quantity_Extract();

/* Matrix Functions */

int     Bltin_Matrix_Add();
int     Bltin_Matrix_Sub();
int     Bltin_Matrix_Mult();
int     Bltin_Matrix_Power();
int     Bltin_Matrix_Trans();
int     Bltin_Quan_Matrix_Mult();
int     Bltin_Matrix_Quan_Mult();
int     Bltin_Matrix_Quan_Div();
int     Bltin_Matrix_Negate();
int     Bltin_Matrix_Affirm();

/* Finite Element Functions */

int      Bltin_Node_Quant();
int      Bltin_Mesh();
int      Bltin_Link_Node();
int      Bltin_Add_Elmt();

int      Bltin_Element_Attr();
int      Bltin_Section_Attr();
int      Bltin_Material_Attr();
int      Bltin_Fiber_Attr();

int      Bltin_Print_Displ();
int      Bltin_Update_Resp();

int      Bltin_Units_Type();

#endif /* end case CODE_H */

⌨️ 快捷键说明

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