Back to home page

MITgcm

 
 

    


File indexing completed on 2025-11-22 06:09:00 UTC

view on githubraw file Latest commit feb7fa5d on 2025-11-21 15:45:20 UTC
b4daa24319 Shre*0001 #ifndef ADSTACK_INCLUDED
                0002 #define ADSTACK_INCLUDED
                0003 
                0004 #include "complex.h"
feb7fa5d1e dngo*0005 #include <stdint.h>
b4daa24319 Shre*0006 
                0007 void adStack_startRepeat() ;
                0008 void adStack_resetRepeat() ;
                0009 void adStack_endRepeat() ;
                0010 
                0011 /* char* pushBlock() ; */
                0012 /* char* popBlock() ; */
                0013 /* void pushNArray(char *x, int nbChars) ; */
                0014 /* void popNArray(char *x, int nbChars) ; */
                0015 
                0016 void pushInteger4Array(int *x, int n) ;
                0017 void popInteger4Array(int *x, int n) ;
                0018 void pushInteger8Array(long *x, int n) ;
                0019 void popInteger8Array(long *x, int n) ;
                0020 void pushReal4Array(float *x, int n) ;
                0021 void popReal4Array(float *x, int n) ;
                0022 void pushReal8Array(double *x, int n) ;
                0023 void popReal8Array(double *x, int n) ;
feb7fa5d1e dngo*0024 void pushReal16Array(long double *x, int n) ;
                0025 void popReal16Array(long double *x, int n) ;
b4daa24319 Shre*0026 /* Commented out because sizeof(complex) == sizeof(double complex) == 16 */
                0027 /* void pushComplex8Array(complex *x, int n) ; */
                0028 /* void popComplex8Array(complex *x, int n) ; */
                0029 void pushComplex16Array(double complex *x, int n) ;
                0030 void popComplex16Array(double complex *x, int n) ;
                0031 void pushCharacterArray(char *x, int n) ;
                0032 void popCharacterArray(char *x, int n) ;
                0033 
                0034 void pushCharacter(char val) ;
                0035 void popCharacter(char* val) ;
                0036 void pushReal4(float val) ;
                0037 void popReal4(float* val) ;
                0038 void pushReal8(double val) ;
                0039 void popReal8(double* val) ;
feb7fa5d1e dngo*0040 void pushReal16(long double *val) ;
                0041 void popReal16(long double *val) ;
b4daa24319 Shre*0042 void pushInteger4(int val) ;
                0043 void popInteger4(int* val) ;
                0044 void pushInteger8(long val) ;
                0045 void popInteger8(long* val) ;
                0046 /* Commented out because sizeof(complex) == sizeof(double complex) == 16 */
                0047 /* void pushComplex8(complex val) ; */
                0048 /* void popComplex8(complex *val) ; */
                0049 void pushComplex16(double complex val) ;
                0050 void popComplex16(double complex *val) ;
                0051 void pushPointer4(void* val) ;
                0052 void popPointer4(void** val) ;
                0053 void pushPointer8(void* val) ;
                0054 void popPointer8(void** val) ;
                0055 void pushBoolean(int x) ;
                0056 void popBoolean(int *x) ;
                0057 
                0058 void pushBit(int x) ;
                0059 int popBit() ;
                0060 
                0061 void pushControl1b(int cc) ;
                0062 void popControl1b(int *cc) ;
                0063 void pushControl2b(int cc) ;
                0064 void popControl2b(int *cc) ;
                0065 void pushControl3b(int cc) ;
                0066 void popControl3b(int *cc) ;
                0067 void pushControl4b(int cc) ;
                0068 void popControl4b(int *cc) ;
                0069 void pushControl5b(int cc) ;
                0070 void popControl5b(int *cc) ;
                0071 void pushControl6b(int cc) ;
                0072 void popControl6b(int *cc) ;
                0073 void pushControl7b(int cc) ;
                0074 void popControl7b(int *cc) ;
                0075 void pushControl8b(int cc) ;
                0076 void popControl8b(int *cc) ;
                0077 
                0078 void adStack_showPeakSize() ;
                0079 void adStack_showTotalTraffic() ;
                0080 void adStack_showStackSize(int label) ;
                0081 void adStack_showStack(char *locationName) ;
                0082 
feb7fa5d1e dngo*0083 uint64_t adStack_getCurrentStackSize();
                0084 
b4daa24319 Shre*0085 int stackIsThreadSafe() ;
                0086 #endif