Log of /trunk/base/generic/general
Directory Listing
Revision
1031 -
Directory Listing
Modified
Wed Jan 3 15:33:23 2007 UTC
(17 years, 8 months ago)
by
johnpye
Merging Ben's changes from trunk, changeset 1105 to changeset 1234.
This breaks Python test suite TestExtFn, so will need investigation.
Revision
998 -
Directory Listing
Modified
Sat Dec 30 06:05:48 2006 UTC
(17 years, 8 months ago)
by
johnpye
Fixed some memory leaks in ospath.c and test_ospath.c.
Revision
965 -
Directory Listing
Modified
Wed Dec 13 23:53:57 2006 UTC
(17 years, 9 months ago)
by
johnpye
Fixed OSPATH typo
Other minor doc changes.
Revision
956 -
Directory Listing
Modified
Sat Dec 9 15:38:05 2006 UTC
(17 years, 9 months ago)
by
johnpye
Removed references to 'ASC_BIG_BUGMAIL' and 'ASC_MILD_BUGMAIL'
Disabled stream redirection functions (they were making testing difficult)
Re-wrote the main test-runner to permit specific tests to be run from the commandline (ongoing)
Disabled readln tests that required stream redirection.
Revision
954 -
Directory Listing
Modified
Sat Dec 9 02:20:15 2006 UTC
(17 years, 9 months ago)
by
johnpye
A few cleanups to get towards compilation on Solaris.
Revision
939 -
Directory Listing
Modified
Fri Nov 24 07:00:05 2006 UTC
(17 years, 9 months ago)
by
johnpye
Fixing test_ascMalloc for case where dmalloc is in use
Revision
931 -
Directory Listing
Modified
Thu Nov 23 04:31:19 2006 UTC
(17 years, 9 months ago)
by
johnpye
Added 'error_reporter_tree' that can organise error messages/output into a structured hierarchy.
Revision
928 -
Directory Listing
Modified
Wed Nov 22 10:32:18 2006 UTC
(17 years, 9 months ago)
by
johnpye
Commented out some stream redirection stuff for simplicity.
The CUnit test suite now works as expected (but without output suppression, for the moment).
Some more effort on IDA (ongoing).
Revision
913 -
Directory Listing
Modified
Sat Oct 28 03:55:19 2006 UTC
(17 years, 10 months ago)
by
johnpye
Added test for SUNDIALS version (2.2.1 and 2.3.0-pre are preferred)
Fixed silly warning message about ignored return values from CONSOLE_DEBUG on GCC.
Revision
908 -
Directory Listing
Modified
Thu Oct 26 10:18:53 2006 UTC
(17 years, 10 months ago)
by
johnpye
first attempt at merging with Ben's changes on the trunk
Revision
869 -
Directory Listing
Modified
Wed Oct 4 14:03:46 2006 UTC
(17 years, 11 months ago)
by
johnpye
'hello world' works from external python module, correctly hooks into 'browser' object.
Revision
866 -
Directory Listing
Modified
Fri Sep 29 06:22:21 2006 UTC
(17 years, 11 months ago)
by
johnpye
Adding polar moment of inertia to atoms.a4l.
Fixing two small windows-related bugs in new importhandler stuff.
Revision
864 -
Directory Listing
Modified
Thu Sep 28 13:39:16 2006 UTC
(17 years, 11 months ago)
by
johnpye
ImportHandler seems to be working, tested with datareader/testtmy.a4c and extfn/testextfn.a4c.
Revision
812 -
Directory Listing
Modified
Fri Aug 11 04:22:18 2006 UTC
(18 years, 1 month ago)
by
johnpye
First apparently working version of data reader. This version just done linear interpolation.
Revision
791 -
Directory Listing
Modified
Thu Jul 27 12:04:19 2006 UTC
(18 years, 1 month ago)
by
johnpye
Moved 'SearchArchiveLibraryPath' into ascDynaLoad so that it can be shared between
compiler/packages and solver/conopt.
Changed debug messages in ospath.
Fixed conopt to search for consub3 in $LD_LIBRARY_PATH or /usr/lib:/usr/local/lib
by default on Linux (or %PATH% or c:\Program Files\ASCEND on Windows).
Modified definition of testconopt so that some parameters can be varied via the interface.
Revision
742 -
Directory Listing
Modified
Thu Jul 6 13:47:41 2006 UTC
(18 years, 2 months ago)
by
johnpye
I think this almost resolves all the Visual C++ issues.
Just an outstanding issue with the use of the option struct in LibraryProc.c
eg use of &g_compiler_warnings in initialiser.
Revision
741 -
Directory Listing
Modified
Thu Jul 6 08:54:42 2006 UTC
(18 years, 2 months ago)
by
johnpye
Fixes for MSVC++
Revision
721 -
Directory Listing
Modified
Mon Jul 3 06:22:42 2006 UTC
(18 years, 2 months ago)
by
johnpye
Added '--models' option to ascend-config.
Fixed a bug with packages.c wrt generating absolute paths to library files.
Added SCons directives to install header files in INSTALL_INCLUDE subdirs.
Changed rel.c so that init function is only run if provided in the package.
Added 'ospath_getabs' to convert relative paths into absolute paths by adding prefix of fully-resolved '.'
Revision
715 -
Directory Listing
Modified
Sat Jul 1 03:17:37 2006 UTC
(18 years, 2 months ago)
by
johnpye
Fixed up some memory leaks, hopefully.
Revision
709 -
Directory Listing
Modified
Wed Jun 28 16:28:57 2006 UTC
(18 years, 2 months ago)
by
johnpye
Monster commit!
Lots of recommenting and reorganising of external relations-related stuff.
Replaced a lot of ascmalloc and asccalloc calls with the new ASC_NEW* macros.
Fixed (?) the problem Art is having with icons in PyGTK.
Turned on -Wall in SConstruct and fixed up a stack of warnings.
Removed the redundant exit(2) from after Asc_Panic calls and added __attribute__((noreturn)).
Set doxygen to create callgraphs to level 2, updated doxyfile to version 1.4.7.
Fixed up building of extfntest.c.
Revision
708 -
Directory Listing
Modified
Tue Jun 27 07:34:31 2006 UTC
(18 years, 2 months ago)
by
johnpye
Replaced some references to ascmalloc with ASC_NEW_ARRAY
Revision
704 -
Directory Listing
Modified
Mon Jun 26 23:00:56 2006 UTC
(18 years, 2 months ago)
by
ben.allan
- fixed a minor bug in the use of dimensions in samplelist
and a #define misuse in ospath.
- defined eolstyle unix on the trunk, as I have encountered
at least 4 too many mixed-eol-style-in-one-file files in trying to
rebuild today. obviously committer discipline is insufficient.
Revision
680 -
Directory Listing
Modified
Wed Jun 21 11:14:49 2006 UTC
(18 years, 2 months ago)
by
johnpye
Adding explicit dependency of tarball on 'ascend.spec'.
Use automated creation of SRCS lists in base/generic/general makefile.
Revision
669 -
Directory Listing
Modified
Wed Jun 21 07:00:45 2006 UTC
(18 years, 2 months ago)
by
johnpye
Merged changes from DAE branch (revisions 702 to 819) back into trunk.
This adds the Integration API to the ASCEND solver (in base/generic).
Also provides pre-alpha support for 'IDA' from the SUNDIALS suite, a DAE solver.
Many other minor code clean-ups, including adoption of new 'ASC_NEW' and friends (to replace 'ascmalloc')
Added some very sketchy stuff providing 'DIFF(...)' syntax, although it is anticipated that this will be removed.
Revision
664 -
Directory Listing
Modified
Wed Jun 14 09:58:42 2006 UTC
(18 years, 3 months ago)
by
johnpye
Fixed bug with pathless resolution of module filenames.
Revision
662 -
Directory Listing
Modified
Wed Jun 14 09:33:04 2006 UTC
(18 years, 3 months ago)
by
johnpye
module.c switched over to use ospath_searchpath_iterate for REQUIRE statments.
Removed some too-new libglade keywords from ascend.glade.
Fixed up some error messages in scanner.l and library.c.
Corrected some non-terminated string bugs in ospath.c.
Revision
638 -
Directory Listing
Modified
Mon May 29 06:28:14 2006 UTC
(18 years, 3 months ago)
by
johnpye
Shifting to alleged ISO C++ form of 'getcwd' command, '_getcwd', for MSVC2005.
Revision
635 -
Directory Listing
Modified
Mon May 29 06:16:26 2006 UTC
(18 years, 3 months ago)
by
johnpye
Small fix to keep MSVC2005 happy.
Revision
624 -
Directory Listing
Modified
Thu May 18 15:39:38 2006 UTC
(18 years, 4 months ago)
by
ben.allan
Summary: most of the recent complaints about autotools build fixed,
but the buildbot might find a problem with the scons build/install/rpmbuild.
Details:
configure,Driver.c,utilities/config.h.in:
The choice of INSTALL_DATA as a configure variable name
has been repaired (renamed INSTALL_SHARE); INSTALL_DATA is the unix
canonical name for the program 'install' handling a data file.
Both autotools and scons builds have been updated to reflect this,
in the process correcting the definition from prefix/share to
prefix/share/ascend.
autotools build:
Added --with-quiet option to make the install of already installed and
unchanged files less verbose.
Put in a workaround for the '' problem in tkConfig.sh seen by KC/JP.
Added --datadir support to autotools configure. If you configure
the autotools --datadir=PREFIX/share/ascend you get the same behavior
as the Pye packaging; by default you get the CMU packaging convention instead.
Added utilities/env.c to build.
compiler:
Turned off AWAL in anontype.c.
Noodling away at blackboxes continues...
Revision
609 -
Directory Listing
Modified
Tue May 16 04:43:34 2006 UTC
(18 years, 4 months ago)
by
johnpye
Added ospath test to the registration function. Rewrote with short macro-based code.
Revision
608 -
Directory Listing
Modified
Tue May 16 04:32:46 2006 UTC
(18 years, 4 months ago)
by
johnpye
Fixing ospath tests, hopefully.
Revision
607 -
Directory Listing
Modified
Tue May 16 04:19:20 2006 UTC
(18 years, 4 months ago)
by
johnpye
Updated license/doc blocks at start of files.
Added test_ospath.c and test_ospath.h.
Revision
593 -
Directory Listing
Modified
Fri May 12 10:03:59 2006 UTC
(18 years, 4 months ago)
by
johnpye
Bumped version to 0.9.5.91.
Changed WITH_CUNIT_TESTS to WITH_CUNIT.
Added GCOV scons option.
Fixed up 'test' target for SCons.
Added lots of export symbols to libascend.so.
Revision
592 -
Directory Listing
Modified
Fri May 12 09:50:57 2006 UTC
(18 years, 4 months ago)
by
johnpye
Working on adding some more export symbols, for purpose of getting Jerry's test suite to work with SCons build.
Revision
589 -
Directory Listing
Modified
Thu May 11 03:10:43 2006 UTC
(18 years, 4 months ago)
by
johnpye
Fixing some malloc bugs.
Revision
588 -
Directory Listing
Modified
Thu May 11 02:06:46 2006 UTC
(18 years, 4 months ago)
by
johnpye
This fixes the new Driver.c implementation. Now, default values of the environment variables
are specified in the file base/generic/utilities/config.h.in, which should be tooled up with
you configuration process. These default values will be subject to environment substiution,
so that if you set the default ASCENDTK=$ASCENDDIST/TK, that will be expanded *at runtime*.
This is to help with the 'application folder' style of installation off-root.
Revision
587 -
Directory Listing
Modified
Thu May 11 01:37:08 2006 UTC
(18 years, 4 months ago)
by
johnpye
Fixed a bug with this for copy-in-place.
Revision
586 -
Directory Listing
Modified
Thu May 11 00:47:54 2006 UTC
(18 years, 4 months ago)
by
johnpye
Working on improving handling of paths.
Revision
585 -
Directory Listing
Modified
Wed May 10 17:02:21 2006 UTC
(18 years, 4 months ago)
by
johnpye
Making ospath accessible from other libraries. In progress.
Revision
584 -
Directory Listing
Modified
Wed May 10 16:56:00 2006 UTC
(18 years, 4 months ago)
by
johnpye
Adding these files which will help with the environment variable/default path problem.
Revision
551 -
Directory Listing
Modified
Sat Apr 29 04:19:17 2006 UTC
(18 years, 4 months ago)
by
johnpye
Added LICENSE.txt to root directory
Fixed a 'const' problem in ospath
Fixed up some variable names and key errors in SConstruct
Modified License-Warranty.tcl in accordance with the recommendations in the GPL.
Revision
545 -
Directory Listing
Modified
Thu Apr 27 03:14:08 2006 UTC
(18 years, 4 months ago)
by
ben.allan
fixed autotools build for ospath file, config.h.in file.
Revision
543 -
Directory Listing
Modified
Thu Apr 27 00:04:13 2006 UTC
(18 years, 4 months ago)
by
johnpye
Fix windows behaviour for 'IMPORT "johnpye/extfn/extfntest";'
Revision
542 -
Directory Listing
Modified
Wed Apr 26 15:15:40 2006 UTC
(18 years, 4 months ago)
by
johnpye
This is a patch to allow statements like "IMPORT johnpye/extfn/extfntest".
It modifies the methods in packages.c. Plan is to reuse the same code for "REQUIRE xxxxxx" statements as well.
Revision
541 -
Directory Listing
Modified
Wed Apr 26 07:32:13 2006 UTC
(18 years, 4 months ago)
by
johnpye
More work on the ospath.c file, trying to iron out some windows-specific issues
Fixed McGraw-Hill URL in TCL files.
Created platform-specific TCL_LIBPATH so that c:\Tcl\bin is used instead of c:\Tcl\lib for .dlls.
Revision
539 -
Directory Listing
Modified
Tue Apr 25 23:11:59 2006 UTC
(18 years, 4 months ago)
by
johnpye
Removed references to ascPrintType.h
Revision
535 -
Directory Listing
Modified
Tue Apr 25 14:55:48 2006 UTC
(18 years, 4 months ago)
by
johnpye
Little more progress on the ospath stuff. Hoping that this can be used to refactor the module (a4c) and external library (.so/.dll) search methods. Still some bugs though.
Revision
534 -
Directory Listing
Modified
Tue Apr 25 13:25:04 2006 UTC
(18 years, 4 months ago)
by
johnpye
Working on platform-independent pathnames for the IMPORT command.
Added 'ospath.c' to base/generic/general for this purpose.
Patched kvalues and sensitivity to use the 'IMPORT "libname";' syntax
instead of 'IMPORT registerfn FROM libname;'.
Fixed pathnames in create.nsi.
Added GPL header to coupla files.
Added quoting to 'IMPORT' syntax in ascParse.y.
Removed 'PackageOption' from Tcl/Tk related Scons options so that missing Tcl/Tk
doesn't cause breakage.
Revision
522 -
Directory Listing
Modified
Fri Apr 21 07:22:20 2006 UTC
(18 years, 4 months ago)
by
johnpye
Fixed all the missing symbols so that ASCEND Tcl/Tk interface builds with separate 'ascendtcl.dll'.
Split Driver.c across Driver.c and new main.c, which has no Tcl/Tk references.
Revision
490 -
Directory Listing
Modified
Tue Apr 18 06:55:20 2006 UTC
(18 years, 5 months ago)
by
johnpye
Moved 'extern "C"' into the ASC_DLLSPEC macro.
Renamed .no.yacc and .no.flex files to have .c extension, so that SCons can tell what they are.
Working on getting things building on VC++, still some problems (maybe just issues with $PATH tho)./
Revision
485 -
Directory Listing
Modified
Tue Apr 18 04:47:11 2006 UTC
(18 years, 5 months ago)
by
johnpye
Huge cleanup of file header comments (GPL notice etc).
Changed from ASC_DLLSPEC to ASC_DLLSPEC(TYPE) -- like python
Fixed up some badly export symbols (missing 'extern')
Fixed exporting of symbols from error.h
Removed ASC_DLLSPEC from .c files-- only in .h files now (hope that's right...)
Changed the way bintoken does its exporting, to take
advantage of ASC_BUILDING_LIBASCEND (needs testing)
I wonder if the 'extern' keywork should be a part of the ASC_DLLSPEC macro?
Revision
480 -
Directory Listing
Modified
Mon Apr 17 10:45:23 2006 UTC
(18 years, 5 months ago)
by
johnpye
Adding ASC_DLLSPEC to all functions that are being used by Python interface.
Also cleaned up some #ifdef header brackets and html-style comments inside doxygen comments.
Renamed pygtk/interface/config.in to pygtk/interface/config.h.in and made
this active again (for ASC_BUILDING_INTERFACE) use.
Trying to catch error in ascpy.Library call with try/except, doesn't work though.
Revision
463 -
Directory Listing
Modified
Sun Apr 16 10:18:16 2006 UTC
(18 years, 5 months ago)
by
johnpye
Converting to the new shared-object configuration (on email discussion with Ben)
First stage: PyGTK interface on windows. More to come.
Revision
451 -
Directory Listing
Modified
Wed Apr 5 05:14:20 2006 UTC
(18 years, 5 months ago)
by
johnpye
Got the test suite to compile with SCons. Seems that there are some
serious problems still though.
Revision
433 -
Directory Listing
Modified
Tue Apr 4 07:30:54 2006 UTC
(18 years, 5 months ago)
by
ben.allan
got rid of old solaris executable in mtx_test.
fixed buggy perm bits on sourcecode.
put better error reporting in external rel evaluation in compiler.
Revision
400 -
Directory Listing
Modified
Fri Mar 31 10:59:36 2006 UTC
(18 years, 5 months ago)
by
johnpye
Almost there with getting Jerry's tests to run. Just sorting out the linking.
Revision
386 -
Directory Listing
Modified
Thu Mar 30 04:46:48 2006 UTC
(18 years, 5 months ago)
by
johnpye
Added SConscript to Tcl/Tk directory.
Still having some problems with linking.
Revision
385 -
Directory Listing
Modified
Thu Mar 30 04:14:29 2006 UTC
(18 years, 5 months ago)
by
johnpye
First attempt at SCons build. This will build the static libraries
for me on Linux with GCC 4.0.2. Will work now on getting it to
build the Tcl/Tk GUI.
Revision
216 -
Directory Listing
Modified
Wed Jan 25 02:12:20 2006 UTC
(18 years, 7 months ago)
by
jds
Minor rework of jam system to stop relinking of libraries when sources not modified.
Minor tweaks to stem the tide of compiler warnings.
Revision
153 -
Directory Listing
Modified
Thu Dec 22 13:53:42 2005 UTC
(18 years, 8 months ago)
by
johnpye
Fixing bug #178.
Revision
141 -
Directory Listing
Modified
Thu Dec 22 02:16:37 2005 UTC
(18 years, 8 months ago)
by
johnpye
Modifying build so that static libraries have same name under both Jam and Autotools builds.
Revision
130 -
Directory Listing
Modified
Tue Dec 20 23:37:10 2005 UTC
(18 years, 8 months ago)
by
johnpye
Working on eliminating some compiler warnings about unitialised vars
and the like.
Revision
124 -
Directory Listing
Modified
Tue Dec 20 08:32:25 2005 UTC
(18 years, 8 months ago)
by
johnpye
Adding 'TEST' statement to ASCEND METHOD syntax.
Standardising messages in slv3.
Trying to debug bug #175.
Revision
122 -
Directory Listing
Modified
Mon Dec 19 06:12:40 2005 UTC
(18 years, 9 months ago)
by
johnpye
Refactoring all MAX, MIN, ABS calls to general/mathmacros.
Adding a GCC optimisation for these macros.
Revision
103 -
Directory Listing
Modified
Sun Dec 11 14:31:02 2005 UTC
(18 years, 9 months ago)
by
jds
Bug fixes & killing more compiler warnings:
- general/list.c - fixed AssertAllocatedMemory and AssertContainedMemory bugs.
- added #include of ascPanic.h where necessary to compile with ALLOCATED_TESTS defined.
- reworked utilities/ascDynaLoad to eliminate compiler warnings related to casting between data & function pointers.
- switched utilities/ascEnvVar.c over to ascstrdup (had static ascstringcopy, which did the same thing).
All regression tests passed on Windows and Linux (except pre-existing solver/slv_common issues).
Revision
100 -
Directory Listing
Modified
Fri Dec 9 23:25:15 2005 UTC
(18 years, 9 months ago)
by
jds
ascMalloc now working on Linux.
Fixed minor bugs in ascPanic.c, test suite functions.
Revision
75 -
Directory Listing
Modified
Sat Dec 3 11:53:13 2005 UTC
(18 years, 9 months ago)
by
jds
Bug fix - compile gl_set_expandable() always.
Revision
67 -
Directory Listing
Modified
Wed Nov 30 16:31:29 2005 UTC
(18 years, 9 months ago)
by
johnpye
Standardised the "if seen" #defines to [ASC|ASCTK|ASCPY|ASCXX]_FILENAME_H
Fixed compile on FC3
Revision
62 -
Directory Listing
Modified
Wed Nov 30 05:53:20 2005 UTC
(18 years, 9 months ago)
by
johnpye
My first commit:
Added 'error_reporter' for standardised error reporting
Working on getting external functions running again
Also: issue 130, issue 68, issue 131, issue 89, issue 127, issue 138, issue 94.
Revision
61 -
Directory Listing
Modified
Mon Nov 14 02:37:20 2005 UTC
(18 years, 10 months ago)
by
jds
Minor bug fixes, extend unit tests to solver:
minor doc changes - compiler/func.h, general/list.h, solver/mtx.h, utilities/mem.h
solver/example - upgraded examples so they run under current system
solver/slv_common.[ch] - added unit tests, minor bug fixes, extended vector_data functions
utilities/ascDynaLoad.c - bug fix on *nix so dlopen, dlsym not called with NULL arguments
Revision
60 -
Directory Listing
Modified
Mon Oct 31 03:39:15 2005 UTC
(18 years, 10 months ago)
by
jds
- jam build up and limping on Linux (finally).
- fixes to CUnit test suite to compile on Linux (still not operable, though).
Revision
59 -
Directory Listing
Modified
Sun Oct 30 01:38:20 2005 UTC
(18 years, 10 months ago)
by
jds
- prototype unit test suite based on CUnit added.
- unit tests for base/generic/general and base/generic/utilites added.
- 2nd manual rework of doxygen documentation in general and utilities.
- bug fixes (mostly general & utilities) found during test development.
- added asc_assert prototype to redirect failures to Asc_Panic() and enable decoupling assertions from NDEBUG.
- some modifications of interface & implementation to facilitate testing.
- utilities/ascPrint & utilities/ascMalloc functions now always included in base libs to minimize recompilation when an interface chooses different options.
Revision
55 -
Directory Listing
Modified
Sat Sep 3 01:25:36 2005 UTC
(19 years ago)
by
jds
Minor comment updates, add doc subdir to tclck98 subdir
Revision
54 -
Directory Listing
Modified
Tue Aug 2 11:20:09 2005 UTC
(19 years, 1 month ago)
by
jds
Manual rework of doxygen comments in all headers.
- Added @file comment to all headers.
- Added parameter names to all function declarations in headers.
- Corrected comment referencing where necessary.
- Split some comments which documented blocks of declarations.
- Converted notes about required work into @todo comments so doxygen can generate a todo list.
Minor bug fixes.
Revision
44 -
Directory Listing
Modified
Thu Mar 3 07:19:05 2005 UTC
(19 years, 6 months ago)
by
ben.allan
Updated configure and all the makefiles to handle
VPATH with or without --srcdir. gnu make is now
required on unix.
Revision
35 -
Directory Listing
Modified
Wed Dec 29 15:05:47 2004 UTC
(19 years, 8 months ago)
by
aw0a
corrections to make ascend compile in parallel tree
Revision
33 -
Directory Listing
Modified
Sun Dec 26 20:06:01 2004 UTC
(19 years, 8 months ago)
by
ben.allan
First pass at doxygenation -- mechanically putting in ** and where
most likely needed **< using sed. Lots of cleanup needed to
be really useful, including grouping data types and their
member methods into class-like documentation.
Revision
32 -
Directory Listing
Modified
Thu Dec 23 18:07:19 2004 UTC
(19 years, 8 months ago)
by
aw0a
updating configure.in - still not correct
Revision
18 -
Directory Listing
Modified
Tue Dec 7 20:53:37 2004 UTC
(19 years, 9 months ago)
by
aw0a
updating configure.in and Makefile.in files throughout
Revision
14 -
Directory Listing
Modified
Thu Nov 18 06:17:50 2004 UTC
(19 years, 10 months ago)
by
ben.allan
Lots of patches to enable debugging with valgrind and
gdb (conditional use of signal.h and friends, pool and friends).
Bug fix for compiler anontype.c that was breaking
arts model under relation sharing.
Revision
11 -
Directory Listing
Added
Sat Nov 13 16:45:56 2004 UTC
(19 years, 10 months ago)
by
aw0a
moving things to base/generic